Patent application number | Description | Published |
20080244418 | DISTRIBUTED MULTI-PARTY SOFTWARE CONSTRUCTION FOR A COLLABORATIVE WORK ENVIRONMENT - The disclosed architecture extends the traditional integrated design environment (IDE) designed for solo development work with features and capabilities that support collaborative distributed work (e.g., distributed pair programming). The architecture provides integrated communication channels that enable the participants to engage in collaborative work. The graphical user interface capabilities are also extended with distributed functionality specific to multi-party (e.g., pair) programming, including, but not limited to manual and/or automatic role control and turn-taking, multiple cursors (destructive and non-destructive), remote highlighting, decaying edit trail, easy access to history of edits, language-independent event model and, view convergence and divergence. The system uses the collaboration and communication patterns and information to identify problems, extract metrics, make recommendations, etc. | 10-02-2008 |
20090094572 | Artifact sharing from a development environment - An identification of a multi-component development artifact to be shared is obtained in a development environment. A remote receiver with whom to share components of the artifact is designated. Components of the artifact are shared with the remote receiver by automatically locating the components and sending the located components in a package with associated type descriptions. After the package is received, a check for conflicts is made, and acceptable components are merged into the local development environment. | 04-09-2009 |
20090113250 | SERVICE TESTING - Communication symmetry is leveraged to facilitate testing of network services. To identify, isolate, understand, and resolve problems a test client is employed. In accordance with one aspect, a service can be provided for execution on a service consumer while the test client resides on a service provider. Roles are reversed to provide more testing freedom on the provider side and less intrusion on the consumer side. Additionally or alternatively, a service and/or test client can be shipped to consumers to aid testing in a real execution environment | 04-30-2009 |
20090125880 | POLYMORPHIC SOFTWARE ARCHITECTURE - A polymorphic software architecture is provided by which the shape of the architecture is enabled to be dynamically changed by splitting and fusing various architectural components (which may also be called “elements”) responsively to the environment in which the software executes, without changing the application's code. The splitting and fusing points determine, for example, the partitioning of functionality and data across architecture components, communication among the components, and the allocation of resources to the components. A profile of an end-user, or a profile of the runtime environment that supports the end-user, may be used to drive the shape of the software architecture so that overall design goals are met upon initial software deployment, and maintained as the profiles change. | 05-14-2009 |
20090199159 | DECLARATIVE EXECUTION CONTEXT SPLITTING - Various technologies and techniques are disclosed for enabling code to be executed on one or more execution contexts based upon declarative annotations contained in the code or other locations. An annotation associated with a region of code is located. The annotation specifies information about an execution context where the region of code should be executed. A caller proxy is generated that is responsible for calling a callee adapter to execute the region of code. The callee adapter is generated that is responsible for receiving a call from the caller proxy and for dispatching a call to the region of code at the execution context. At runtime, the caller proxy receives a request to call the region of code and sends an execution request to the callee adapter. The callee adapter receives the execution request and dispatches a call to an executable version of the region of code. | 08-06-2009 |
20090249226 | COLLABORATIVE TOOL USE IN VIRTUAL ENVIRONMENT - A collaborative tool is integrated into a virtual collaborative environment. The collaborative tool allows use of the tool by one or more physically remote users while providing full functionality and features which may not be available in the virtual collaborative environment. A substantially seamless transition is had between using the tool in the virtual environment and the real world. | 10-01-2009 |
20090292732 | SIMILARITY-BASED CONTENT SAMPLING AND RELEVANCE FEEDBACK - A method and a system may be provided to sample media content similar to media content enjoyed by a user. Feature vectors, which describe a number of characteristics, with respect to media content enjoyed by the user, may be employed to find similar media content from a media library, or a media service. The similar media content may be played, interleaved with requested media content. Relevance feedback, with respect to played media content, may be transparently or explicitly provided. The feature vectors may be updated based on the provided relevance feedback. Additional similar media content may be found from the media library, or the media service, based on the updated feature vectors, and may be played. An interface may be provided such that the user may purchase sampled, media content via a media device for playing the content. | 11-26-2009 |
20100057822 | INVERSE TRANSFORMATION LOADING - An inverse transformation and/or identification thereof is transmitted to a receiver to enable interpretation of transformed data. Rather than requiring installation of a transform on a sender and an inverse transform on a receiver prior to communication, an appropriate inverse transformation can be provided to and executed by a receiving component as needed. In accordance with one aspect, a transformation and associated inverse are selected dynamically as a function of context to minimize or maximize some parameter, for instance. | 03-04-2010 |
20100082751 | USER PERCEPTION OF ELECTRONIC MESSAGING - Determining user use context for electronic messaging and disseminating a subset of the user use context to recipients and/or senders of such electronic message is disclosed herein. By way of example, the user use context can be based on a general context of recipients, such as speed with which a message is disseminated or consumed, number of child messages spawned, rate at which such messages are spawned, and so on. Additionally, user use context can also be based on individual context, by comparing individual interaction to a message (e.g., time to read, time to delete, number of child messages, etc.), with a baseline usage context determined for the individual. The context can be disseminated to recipients of the message or to the sender, to provide an overview of perception of the electronic message. | 04-01-2010 |
20100088026 | LOCATION-AWARE SELECTION OF PUBLIC TRANSPORTATION - A mobile device such as a mobile phone, smart phone, personal music player, handheld game device and the like that is configured to be location-aware through GPS (Global Positioning System), cell tower positioning, or other means of determining location, is provided with a public transportation selector functionality that interfaces with one or more on-line public transportation schedule services. The public transportation selector passes the location of a user of the mobile device, the user's destination, and the targeted arrival time to the schedule services which responsively return information including, for example, station/stop location information, route identifier, departure and arrival times, and fare costs. The public transportation selector aggregates schedule information provided by the services for presentation to the user through a user interface on the mobile device. The user can then select the desired public transportation option and be provided with directions to the appropriate station or stop. | 04-08-2010 |
20100094939 | TRANSIENT NETWORKS - The claimed subject matter relates to an architecture that can facilitate creation and management of an event-oriented transient network and can further manage decommission of the transient network. In particular, the architecture can construct temporary communities based upon a particular event, project, or activity; manage (e.g., filter, prioritize, or control) communications and content associated with the community; and disband the community by deconstructing the transient network according to an aging function that controls how the network decays. In addition, the architecture can leverage existing information (e.g. profile data) and content feeds associated with disparate social networking services or communities for the benefit of the temporary community. | 04-15-2010 |
20100169134 | FOSTERING ENTERPRISE RELATIONSHIPS - The claimed subject matter relates to an architecture that can facilitate, enrich, or nurture relationships in a business enterprise environment. In particular, the architecture can construct a set of profiles associated with entities of the enterprise (e.g., employees, teams, departments, or the enterprise) based upon a wide range of transactions (e.g., behavior, activity, productivity, relationships, explicit or implicit feedback from collaborators . . . ) relating to the entity. Based upon these profiles, the architecture can determine a set of tasks and also identify advantageous relationships, wherein the tasks and relationships are deemed to facilitate accomplishing an objective to benefit the enterprise or entity. In addition, the architecture can nurture or cultivate the advantageous relationships by suggesting suitable behavior or performing opportunistic actions. | 07-01-2010 |
20100169789 | Scaling Social Networks - The claimed subject matter relates to an architecture that can scale a content feed in terms of the amount of content delivered in order to facilitate satisfactory experiences in connection with a social network. In particular, the architecture can utilize a content feed to disseminate content between members of a network community, generally relative to a particular social circle of a given user. The architecture can maintain a personal space for the user and display to the personal space content provided by a content feed. Content provided to the personal space (as well as that retrieved from the personal space) can be scaled based upon a variety of commitment characteristics associated with the social circle. In addition, the architecture can employ smart dispersal of content and can intelligently acquire additional content from the user or import suitable settings from disparate users. | 07-01-2010 |
20100185630 | MORPHING SOCIAL NETWORKS BASED ON USER CONTEXT - Providing for adaptive networking based on user context is disclosed herein. By way of example, networking usage patterns, preferences and disposition toward a network or network interface can be monitored and analyzed to determine the user context. In some aspects, the usage context can be further modified based on language processing of content of messages sent or received by the user. Once determined, user context can be employed to adapt a composition of a network, including user nodes of the network as well as interface tools for accessing the network, based on the user context. As user use patterns change, the network can be further adapted to account for changes in user context over time, or other suitable user categorizations. Accordingly, the subject disclosure provides a powerful tool for breaking user-software paradigms requiring the user to adapt to the network and network tools. | 07-22-2010 |
20100223212 | TASK-RELATED ELECTRONIC COACHING - Providing for task-related electronic feedback based on user interaction with a communication network is described herein. By way of example, user interactions the network or a network interface can be monitored to identify user activities performed in conjunction with a task. A rating for performance of the task can be obtained via comparison of user activities with benchmark performance activities. Based on the rating and user-benchmark comparison, inefficiencies can be identified, along with corrective actions for such activities. The corrective actions can then be output to coach the user on techniques for improving performance of the task. Accordingly, by employing corrective feedback based on monitored user activity, personal training can be automated, potentially reducing time and cost of such training. | 09-02-2010 |
20100223341 | ELECTRONIC MESSAGING TAILORED TO USER INTEREST - Providing for electronic messaging tailored to contexts or interests of one or more participants of electronic communication is described herein. By way of example, a message can be analyzed during or after compilation to determine a context of the message. Message participants can be identified and a context for such participants determined. Based on the message context or participant context, the message can be modified to be consistent with interests, preferences or other context of one or more participants. In some aspects, the message can be modified upon receipt by a recipient's communication device or messaging application. According to other aspects, the message can be modified at compilation, or transmission. In accordance with still other aspects, message modifications can be output as suggested feedback to improve receptivity or utility of a message. | 09-02-2010 |
20100223581 | VISUALIZATION OF PARTICIPANT RELATIONSHIPS AND SENTIMENT FOR ELECTRONIC MESSAGING - Providing for graphical visualization of contextual information pertinent to electronic messaging is described herein. By way of example, contextual network usage information or messaging disposition can be determined for a set of participants to electronic communication. The contextual information is compiled into categories and organized at least as a function of category. The compiled data can be transformed into a visualization of user disposition or context and output to a user device as a multi-dimensional graphical rendering. By rendering contextual data graphically, the rich and diverse information available from usage histories, current user context and user dispositions can be output and consumed rapidly and efficiently, resulting in productive electronic interaction. | 09-02-2010 |
20110138403 | PUSH-BASED APPLICATION PROGRAM INTERFACE BASED ON DUALS OF A PULL-BASED APPLICATION PROGRAM INTERFACE - Methods and devices are provided for defining push-based standard sequence operators based on respective duals of corresponding pull-based standard sequence operators. A push-based application program interface (API) may be defined based on mathematical duals of a corresponding pull-based API. The push-based API may include a library of routines, which further may include push-based standard sequence operators defined based on deriving mathematical duals of corresponding pull-based standard sequence operators. A protocol for processing a push-based collection may be defined as a mathematical dual of a protocol for processing a pull-based collection. In various embodiments, mathematical duality with respect to synchronous, pull-based, collections may be exploited to define operators for processing asynchronous push-based collections. | 06-09-2011 |
20110239229 | PREDICATIVE AND PERSISTENT EVENT STREAMS - An event driven application may predict a future event and spawn an event stream from the predicted event. The spawned event stream may be performed as a predicted operation until the prediction is confirmed to be correct or incorrect. The predicted operation may generate results that may be present when the prediction is confirmed. In some cases, the results may be used prior to the predicted event, while in other cases, the results may be cached until the prediction is confirmed. In some cases, the predicted operation may be merged with an actual event stream when the predicted event occurs. The prediction mechanism may enhance performance, enable operations that would otherwise be difficult, and may save battery life or energy in some devices. | 09-29-2011 |
20110246962 | STATE MACHINE EXPRESSIONS IN DATABASE OPERATORS - A state machine may be represented using event-driven objects in a database query language. A bind operator from a database query language may be used as a state transition function, where the transition function has side effects defining the state. The objects may be manipulated with event driven expressions and operators and perform what would otherwise be complex operations with simple state machines. | 10-06-2011 |
20120089868 | FUZZ TESTING OF ASYNCHRONOUS PROGRAM CODE - A fuzz testing system is described herein that represents event sources, channels, processors, and consumers as first-class entities in an application. Abstracting event-related entities allows fuzzing through injecting, dropping, reordering, and delaying events from within the application. This translates into the ability to localize the areas under test and perform fuzzing in a systematic manner. In some embodiments, the fuzz testing system tests concurrent asynchronous and event-based code, and can generate event streams based on a given statistical distribution. Representing events, event sources, processors, and sinks as first-class objects provides easy access to the event handlers and facilitates implementing fuzzing by introducing event processors between the source and the sink. Thus, the fuzz testing system improves the testability of applications and APIs with asynchronous behavior and provides a uniform framework for introducing fuzz testing into such applications. | 04-12-2012 |
20120102458 | GENERATING DOCUMENTATION FROM TESTS - A documentation system is described herein that automatically generates documentation for software code from tests that verify the correct operation of the software code. Software development teams often write automated tests (software that tests the software being shipped), such as unit tests. When written correctly, these tests are a written contract of what the software is supposed to do. The documentation system can use static and dynamic analysis in combination with annotations in the test code to extract the contract from these tests and leverage the extracted information to automatically generate the documentation. The system can then visually display this information in a textual or graphical way. Thus, the documentation system generates documentation that more accurately reflects how software code is expected to operate, without introducing significant burdens into the software development cycle. | 04-26-2012 |
20130297261 | MOBILE SENSOR NETWORK - A sensor network may be created by collecting information from a plurality of mobile devices, such as cellular telephones. The mobile devices use sensors, such as microphones, cameras, accelerometers, biometric readers, etc. to detect the sensory information. Sensory output related to detected sensory information may be transmitted from a mobile device to a receiver that receives the sensory outputs. The received sensory outputs from a plurality of mobile devices may be aggregated to generate aggregated data, which may be transmitted to one or more receivers that use the aggregated data to perform a function and/or present the aggregated data to a user. Additionally, the aggregated data may be reviewed by a reviewer component that can create (revised) detection instructions regarding how one or more mobile devices are to detect sensory information and/or what sensory information to detect (e.g., to make resulting aggregated data more relevant). | 11-07-2013 |