Patent application number | Description | Published |
20090171983 | SYSTEM AND METHOD FOR VIRTUAL FOLDER SHARING INCLUDING UTILIZATION OF STATIC AND DYNAMIC LISTS - A system and method for virtual folder sharing, including utilization of static and dynamic lists. Static and dynamic lists may be created as types of virtual folders. Virtual folders expose regular files and folders to users in different views based on their metadata instead of the actual physical underlying file system structure on the disk. A static list consists of a folder of items that are in a specific order, while a dynamic list gathers a set of items based on a scope and a set of criteria. When a list is shared, the actual list is left in place on the sharer's machine or server, while permission is granted to the sharee to remotely access the list and the referenced items. If the list is changed by adding or removing items, these items are also automatically re-permissioned to allow or disallow the sharee to have access to the items. | 07-02-2009 |
20110093631 | ADAPTERS FOR EVENT PROCESSING SYSTEMS - Methods, systems, and computer-readable media are disclosed for implementing adapters for event processing systems. A particular system includes an input adapter configured to store event objects received from a source at an input queue. The system also includes a query engine configured to remove event objects from the input queue, to perform a query with respect to the removed event objects to generate result objects, and to insert result objects into an output queue. The system also includes an output adapter configured to remove result objects from the output queue and to transmit the result objects to a sink. | 04-21-2011 |
20110283295 | EXTENSIBILITY MODEL FOR STREAM-BASED OPERATORS AND AGGREGATES - An extensibility framework that allows a user to write user-defined modules that include user-defined operators (UDO) and user-defined aggregators (UDA) in a non-temporal fashion without the need to worry about temporal attributes of events (or event types). The temporal domain is managed on behalf of the user, and allows the user to write operators and aggregates in the temporal data streaming domain as well as to port existing libraries of non-temporal UDOs/UDAs to the temporal data streaming domain. Temporal attributes and event types are managed for non-temporal UDOs/UDAs by the extensibility framework on behalf of the UDO/UDA writer. Windows can be employed to bridge the gap between the non-temporal domains and temporal domains. Support for complex event processing (CEP) is provided in UDOs/UDAs for base classes related to a CEP operator, CEP aggregate, CEP time sensitive operator, and CEP time sensitive aggregate. | 11-17-2011 |
20110313844 | REAL-TIME-READY BEHAVIORAL TARGETING IN A LARGE-SCALE ADVERTISEMENT SYSTEM - A “Real-Time-Ready Analyzer” combines a data stream management system (DSMS) with a map-reduce (M-R) framework to construct a streaming map-reduce framework that is suitable for real-time Behavioral Targeting (BT) (or other temporal queries). The Real-Time-Ready Analyzer allows users to write “dual-intent” temporal analysis queries for BT. These queries are succinct and easy to express, scale well on large-scale offline data, and can also work over real-time data. Further, the Real-Time-Ready Analyzer uses the aforementioned streaming map-reduce framework to provide dual-intent algorithms for end-to-end BT phases. Experiments using real data from an advertisement system show that the Real-Time-Ready Analyzer is very efficient and incurs orders-of-magnitude lower development effort than conventional systems. | 12-22-2011 |
20120005220 | DYNAMIC ASSET MONITORING AND MANAGEMENT USING A CONTINUOUS EVENT PROCESSING PLATFORM - The disclosed architecture leverages realtime continuous event processing (CEP) to address using a general input interface framework to import a dynamic set of event types (e.g., assets), and using a declarative, expressive query model to implement monitoring and management tasks on an asset level. This is in contrast to looking separately at single values from static databases and/or realtime streams as is common conventionally. The architecture uses the CEP data model to model assets as realtime event types. Thus, queries can be formulated per asset and not just per single stream. The architecture uses the query capabilities of CEP to formulate asset management and monitoring tasks as standing, declarative queries, and uses the input interface of a CEP platform to correlate data from different data sources with different dynamic properties. | 01-05-2012 |
20120079506 | ALTERING EVENT LIFETIMES - The present invention extends to methods, systems, and computer program products for altering event lifetimes. Embodiments of the invention include using operators in an event-processing framework (algebra) to shorten (or “clip”) the duration of events. An operator can receive a primary event stream, a clip event stream, and condition as parameters. The operator clips the lifetime of an event in the primary stream to the next event in the clip stream that fulfills the condition. Altering event lifetimes can be used to facilitate cleaning event stream state, converting point events to a continuous signal, and creating and annotating session events. | 03-29-2012 |
20120131599 | COMPLEX EVENT PROCESSING (CEP) ADAPTERS FOR CEP SYSTEMS FOR RECEIVING OBJECTS FROM A SOURCE AND OUTPUTING OBJECTS TO A SINK - Methods, systems, and computer-readable media are disclosed for implementing adapters for event processing systems. A particular system includes an input adapter configured to store event objects received from a source at an input queue. The system also includes a query engine configured to remove event objects from the input queue, to perform a query with respect to the removed event objects to generate result objects, and to insert result objects into an output queue. The system also includes an output adapter configured to remove result objects from the output queue and to transmit the result objects to a sink. | 05-24-2012 |
20120297080 | Stream Operator - Aspects of the subject matter described herein relate to stream operators. In aspects, a stream event is received. Based on a timestamp associated with the stream event and the number of stream operators that have asked to be activated prior to or at the timestamp, zero or more stream objects are informed of one or more time events and torn down if no longer needed. In addition, a destination stream operator is instantiated, if needed, data (e.g., the timestamp and packet, if any) corresponding to the stream event is provided to a stream operator, output data, if any, is received from the stream operator, and the stream operator is torn down if it no longer needs state data between invocations. | 11-22-2012 |
20120323941 | Processing Queries for Event Data in a Foreign Representation - The subject disclosure is directed towards processing a query corresponding to event data in a foreign representation. In order to produce results for the query, an event structure is defined for each requested event type. Information is automatically generated for configuring adapters to identify attribute data associated with the each requested event type and return the attribute data according to the event structure. These adapters search historical event data or real-time event data for the event-related data. | 12-20-2012 |
20130091199 | DATA COMMUNICATION COORDINATION WITH SEQUENCE NUMBERS - Described are sequence numbers for client-server communication, to control a client's use of server resources. A server grants the client credits, and the client consumes a credit for sending each command to the server. Each credit corresponds to a sequence number, with the set of sequence numbers forming a valid command window. The server enforces that for each received command, the command includes a sequence number that is within the valid command window and that the sequence number has not been used with another command. The server may also maintain a maximum window size, such that clients with credits cannot send a command with a sequence number that beyond a maximum sequence number. When incorporated into a data communication protocol, quality of service, combating denial of service, detection of message loss, division of server resources, secure message signing, and other numerous benefits result. | 04-11-2013 |
20130304932 | DATA COMMUNICATION PROTOCOL - Described is a data communication protocol, in which a client and server negotiate in a manner that does not require the client to retry negotiation when servers are not capable of the client-desired protocol. In one example implementation, the desired protocol is SMB 2.0 or greater. The protocol describes a create command with possibly additional context data attached for built-in extensibility, and a compound command comprising a plurality of related commands or unrelated commands. A multi-channel command requests data transfer on a separate data channel, a signed capability verification may be used to ensure that a secure connection is established, and the protocol provides the ability to transfer extended error data from the server in response to a request. | 11-14-2013 |
20140067871 | DELEGATION OF EXPRESSION TREE EVALUATION - Evaluating an expression tree. A method includes, at a first domain, accessing an expression tree. The expression tree comprises a plurality of nested expressions. The plurality of nested expressions spans a plurality of domains. The expressions in the expression tree are expressed in a common format in spite of the different expressions of the expression tree being intended to be evaluated by different domains. At the first domain, the method includes evaluating one or more references to local variables included in the plurality of nested expressions. The method further includes determining that one or more expressions in the plurality of expressions are to be evaluated by a different domain. The method further includes expanding the one or more expressions in the plurality of expressions to be evaluated by different domains to allow the one or more expressions to be evaluated by the different domain. | 03-06-2014 |
20140289746 | ALTERING EVENT LIFETIMES - The present invention extends to methods, systems, and computer program products for altering event lifetimes. Embodiments of the invention include using operators in an event-processing framework (algebra) to shorten (or “clip”) the duration of events. An operator can receive a primary event stream, a clip event stream, and condition as parameters. The operator clips the lifetime of an event in the primary stream to the next event in the clip stream that fulfills the condition. Altering event lifetimes can be used to facilitate cleaning event stream state, converting point events to a continuous signal, and creating and annotating session events. | 09-25-2014 |
20150026248 | DATA COMMUNICATION COORDINATION WITH SEQUENCE NUMBERS - Described are sequence numbers for client-server communication, to control a client's use of server resources. A server grants the client credits, and the client consumes a credit for sending each command to the server. Each credit corresponds to a sequence number, with the set of sequence numbers forming a valid command window. The server enforces that for each received command, the command includes a sequence number that is within the valid command window and that the sequence number has not been used with another command. The server may also maintain a maximum window size, such that clients with credits cannot send a command with a sequence number that beyond a maximum sequence number. When incorporated into a data communication protocol, quality of service, combating denial of service, detection of message loss, division of server resources, secure message signing, and other numerous benefits result. | 01-22-2015 |
Patent application number | Description | Published |
20110197059 | SECURING OUT-OF-BAND MESSAGES - Securing an out-of-band message from a server to a mobile computing device. After requesting a service ticket from a trusted third party (e.g., via a pre-existing ticketing infrastructure), the requested service ticket and a shared secret are obtained from the trusted third party via a first channel. The mobile computing device thereafter sends the service ticket with the shared secret to a server via a second channel. The server encrypts a message (e.g., an SMS message) using the shared secret. The mobile computing device receives the encrypted message from the server via a third channel that is out-of-band relative to the first channel. The encrypted message is decrypted via the shared secret and the decrypted message is provided to a user of the mobile computing device. In some embodiments, the message includes commands for controlling the mobile computing device. | 08-11-2011 |
20130198115 | CLUSTERING CROWDSOURCED DATA TO CREATE AND APPLY DATA INPUT MODELS - The collection and clustering of data input characteristics from a plurality of computing devices is provided. The clustered data input characteristics define user groups to which users are assigned. Input models such as language models and touch models are created for, and distributed to, each of the user groups based on the data input characteristics of the users assigned thereto. For example, an input model may be selected for a computing device based on a current context of the computing device. The selected input model is applied to the computing device during the current context to alter the interpretation of input received from the user via the computing device. | 08-01-2013 |
20150163341 | VIRTUAL PERSONAL OPERATOR - Various technologies for managing mobile device communications can be offered to implement a virtual personal operator. Incoming calls and texts can be managed intelligently based on a rich network-stored context, allowing the network to make decisions and interact with callers. Because context is stored by the network, the virtual personal operator can function without contacting the called mobile phone, and can even provide helpful information to callers if the mobile phone is offline. Rich do-not-disturb functionality can be provided, and privileged callers can be given additional information or functionality based on their privileged status. Numerous other features that assist with communications management can be supported. | 06-11-2015 |
20150188727 | TUNNELING VOIP CALL CONTROL ON CELLULAR NETWORKS - Signaling from a mobile device is transparently tunneled through a cellular voice network to a Voice over Internet Protocol (“VoIP”) core network so that multi-party calls, including conference calls and call waiting, can be managed entirely within the VoIP core network. The tunneled signals enable call control to be implemented in the VoIP core network and also establish a way to communicate requests, instructions, and call state. The signaling is transparent to the cellular network because that network does not receive and interpret the signaling. Instead, the cellular network's existing and unmodified control plane is repurposed by the mobile device by placing new, brief outgoing calls through the cellular network to the VoIP core network where the called party number (i.e., the caller-ID) encodes specific information. The VoIP core network immediately releases the new cellular call once the caller-ID is received and the encoded information is interpreted. | 07-02-2015 |
Patent application number | Description | Published |
20090300652 | QUEUE DISPATCH USING DEFERRED ACKNOWLEDGEMENT - Dispatching an incoming message from a queue into message transfer session(s) from which message consumers may draw messages. The message is reversibly received from the queue, whereupon a context of a message is identified. If the context correlates to an existing message transfer session, the message is ultimately assigned to a message transfer session. If the context does not correlate to an existing message transfer session, a new message transfer session is created, and the message is assigned to that new message transfer session. Upon receiving an acknowledgement of successful processing of the message, the removal of the message from the queue-like communication medium is assured. Upon receiving an acknowledgement of unsuccessful processing of the message, the message is restored to the queue-like communication medium. | 12-03-2009 |
20100057933 | PROBABILISTIC MESH ROUTING - Routing messages using unreliable routing data. A method includes receiving a message from a computer readable communication medium. Characteristic properties of the message are calculated so as to determine state requirements for a service instance at a service for processing of the message. An attempt is made to acquire an appropriate service instance that satisfies the state requirements for processing the message. A determination is made that attempting to acquire an appropriate service instance that satisfies the state requirements for processing the message is not successful at acquiring an appropriate service instance. As a result, the message is redirected using an unreliable local cache of routing information and without coordination between processing nodes. | 03-04-2010 |
20100070806 | TECHNOLOGIES FOR DETECTING ERRONEOUS RESUMPTIONS IN A CONTINUATION BASED RUNTIME - Technologies for enabling a continuation based runtime to accept or reject external stimulus and, in addition, to determine if an external stimulus may be valid for processing at a later point in execution. | 03-18-2010 |
20100107177 | DISPATCH MECHANISM FOR COORDINATING APPLICATION AND COMMUNICATION MEDIUM STATE - The present invention extends to methods, systems, and computer program products for coordinating application state and communication medium state. Embodiments of the invention provide mechanisms by which a dispatcher can enable application code to coordinate changes in application state with the consumption of messages from a communication medium. The coordination can be automatic where the dispatcher performs the coordination, or manual, where the coordination is performed more expressly by application code. Embodiments also include mechanisms by which applications targeting an execution (e.g., continuation based) runtime may compose alternative state transitions in the application with a peek lock protocol. | 04-29-2010 |
20110307442 | TRANSPARENT ACCESS MECHANISM FOR LOCAL AND REMOTE DATA - A unified data access mechanism can provide transparent access to data that is either stored locally or remotely. Application programs can direct data requests and data modifications to this singular component without foreknowledge of where the data is stored. The unified data access mechanism can work in concert with a synchronization mechanism that can maintain data synchronization between local data and remote data. Requested or modified data can be identified as stored locally or remotely based on the namespace of the data. If the data is stored remotely, the user credentials associated with the user's process space within which the application program is executing can be utilized to identify, and then provide, relevant authentication information to the remote data store, should it be required. | 12-15-2011 |
20110320522 | CONTEXT-SPECIFIC NETWORK RESOURCE ADDRESSING MODEL FOR DISTRIBUTED SERVICES - A back-end locator service can be utilized to identify a specific computing device, from among multiple computing devices in a domain, that is the most appropriate computing device to handle a particular type of request for data or other resources. The data or resources hosted by the domain can be divided among multiple computing devices. The domain can expose a network-based application program interface where successive requests by a client computing device become more specific as to the data or resources requested. Responses from the computing devices in the domain can, at some point in time, be informed by the back-end locator service and can comprise location-specific resource identifiers. The client computing device can utilize such location specific resource identifiers to direct further communications to the appropriate, specific computing device without having to incur redirection inefficiencies. | 12-29-2011 |
20120297077 | TECHNOLOGIES FOR DETECTING ERRONEOUS RESUMPTIONS IN A CONTINUATION BASED RUNTIME - Technologies for enabling a continuation based runtime to accept or reject external stimulus and, in addition, to determine if an external stimulus may be valid for processing at a later point in execution. | 11-22-2012 |
20130332921 | VIRTUAL MACHINE IMAGE WRITE LEASING - A system that includes multiple hosts, each having physical resources, a hypervisor, and a host agent that causes the virtual machines to operate above the hypervisor so as to be abstracted from the physical resources. A host fabric reviews requests to instantiate or upgrade a virtual machine, identifies a corresponding virtual machine image to instantiate the virtual machine from in order to honor the request, and determines whether the virtual machine to be instantiated has a valid lease on the virtual machine image. If the requestor does not have a valid lease, the request is blocked. If the requestor does have a valid lease, the host fabric facilitates the instantiation of the virtual machine from the virtual machine image. This prevents or eliminates the chances of multiple instances of the same virtual machine image writing to the virtual machine image at the same time. | 12-12-2013 |
20140095813 | CONFIGURABLE AND TUNABLE DATA STORE TRADEOFFS - A data store is configurable in terms of various tradeoffs including consistency and availability, among others. Consistency can be specified in terms of one of a myriad of configuration levels. Availability can be specified with respect to a maximum and minimum number of replicas or failure tolerance. In operation, one or more of write or read quorums can be automatically adjusted to ensure satisfaction of a specified configuration level in light of changes in the number of replicas. | 04-03-2014 |
20140101298 | SERVICE LEVEL AGREEMENTS FOR A CONFIGURABLE DISTRIBUTED STORAGE SYSTEM - A service level agreement can be generated based on a data store configuration. In one instance, the configuration can be specified in terms of a data value such as high, medium, and low value, for example. In another instance, a workload configuration can be specified comprising a replica set and consistency level, among other things. More particularly, the service level agreement can include guarantees regarding one or more of consistency, availability, latency, or fault tolerance, among others, as a function of a data value or workload configuration. Further, operation of a service associated with a service level agreement can be monitored to determine satisfaction or violation of guarantees, and provide real time feedback. | 04-10-2014 |
20140279844 | AVAILABLE, SCALABLE, AND TUNABLE DOCUMENT-ORIENTED STORAGE SERVICES - An application on a device may interact with a document service that provides access to a document service. The interaction may occur in a variety of contexts, such as a device context (e.g., the document service and the application provided on the same device), a local context (e.g., via a LAN), and a remote context (e.g., over the Internet). It may be advantageous to adapt the interaction to the current context, while also providing a consistent application interface that alleviates the application from context-specific implementations, and also achieving this adaptation in a performant manner. These considerations may be achieved in a balanced manner by providing a set of runtimes, where each runtime mediates the application/document service interaction between the application and the document service in a contextually adapted manner. The device may automatically detect the context of the interaction and select a contextually suitable runtime to service the application. | 09-18-2014 |
20140280707 | ELASTICALLY SCALABLE DOCUMENT-ORIENTED STORAGE SERVICES - A server set may provide a document service to one or more clients, and may be configured to do so in view of various considerations such as availability, fault tolerance, flexibility, and performance. Presented herein are document service architectures that involve partitioning the document set into at least two document ranges, and configuring respective servers of the server set to host one or more agents to which are respectively assigned one or more document ranges. A request for an operation involving at least one document may be routed to a server hosting an agent managing the document ranges of the documents involved in the operation. Moreover, respective servers may retain detailed information about neighboring servers (e.g., according to a logical or physical proximity) and scant information about distant servers, thereby avoiding both the extensive information exchange of highly informed network architectures and the inefficiency of uninformed routing algorithms. | 09-18-2014 |