WO2009043033A4 - Network operating system - Google Patents

Network operating system Download PDF

Info

Publication number
WO2009043033A4
WO2009043033A4 PCT/US2008/078169 US2008078169W WO2009043033A4 WO 2009043033 A4 WO2009043033 A4 WO 2009043033A4 US 2008078169 W US2008078169 W US 2008078169W WO 2009043033 A4 WO2009043033 A4 WO 2009043033A4
Authority
WO
WIPO (PCT)
Prior art keywords
recited
data
application
user interface
document
Prior art date
Application number
PCT/US2008/078169
Other languages
French (fr)
Other versions
WO2009043033A2 (en
WO2009043033A3 (en
Inventor
Daniel Arthursson
Markus Bristav
Original Assignee
Xcerion Aktiebolag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xcerion Aktiebolag filed Critical Xcerion Aktiebolag
Priority to CN200880116332A priority Critical patent/CN101861576A/en
Priority to BRPI0817473A priority patent/BRPI0817473A2/en
Priority to KR1020107009416A priority patent/KR101501174B1/en
Publication of WO2009043033A2 publication Critical patent/WO2009043033A2/en
Publication of WO2009043033A3 publication Critical patent/WO2009043033A3/en
Publication of WO2009043033A4 publication Critical patent/WO2009043033A4/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser

Abstract

Generally described, the present invention is directed to a network operating system that provides more effective ways of leveraging the connectivity of computer networks. In one embodiment, an XML virtual machine is implemented that accepts high-level application code written in an XML programming language as input. Functionality is provided to interpret or translate the application code written in an XML programming language into code that is suitable for execution across computer platforms. Moreover, the XML virtual machine supports the Model View Controller (MVC) design paradigm that facilitates true data abstraction from applications to a common data model. Multi-instance applications, with each instance potentially supporting multiple views, may be created and executed.

Claims

AMENDED CLAIMS [received by the International Bureau on 29 July 2009 (29.07.2009)]The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. An application platform for executing applications in which functionality is separated into layers in accordance with the MVC design paradigm, the application platform configured to: provide (1600) a bind operation for binding an object defined in an application's user interface logic to a document in a data model, wherein multiple objects may be bound to the same document; allowing (2206) the object to utilize rules and interpret content in the document in which the object is bound without coupling the object's functionality to the structure of data in the document; and maintaining (2100) a rule handler in the data model that defines how each rule-using object bound to the document will interpret their data binding.
2. The application platform as recited in Claim 1, further comprising: allowing a listening object to register as a listener for data updates performed on the document; and in response to the document experiencing a data update, notifying and supplying the listening object with data for determining whether the listening object is affected by the data update.
3. The application platform as recited in Claim 1, wherein maintaining a rule handler in the data model that defines how each rule-using object bound to the document will interpret their data binding includes causing the semantic logic of an object's rules to be included in the data model within a namespace that is separate from a namespace associated with a different object
4. The application platform as recited in Claim 1, wherein binding an object defined in an application's user interface logic to a document in the data model, includes: identifying a semantic description of a bind operation encountered in application code, the semantic description having an expression referencing a document in the data model that the runtime object will be bound; and evaluating the expression relative to an application instance.
5. The application platform as recited in Claim 4, wherein binding an object defined in an application's user interface logic includes registering the object as a data update listener on the document that is notified when a data update affecting the object's data binding occurs.
6. The application platform as recited in Claim 1, wherein binding an object defined in an applications user interface logic to a document, includes: determining whether the object utilizes rules; if the object utilizes rules: causing the rule handler to apply the rules of the object relative to the current version of the data model; merging the rules of the object into the data model, the rules being merged into a namespace that is separate from a different object.
7. The application platform as recited in Claim 1, wherein maintaining a rule handler in the data model, includes: receiving a data update from the object that modifies the rules maintained in the data model; notifying one or more existing rule-using objects bound to the document of the data update; and executing the rule handler relative to the data model available to the one or more existing rule-using objects.
8. A data update bus configured to perform a method that propagates a data update between a data model and one or more objects, comprising: instantiating (1254) an abstract representation of a document (e.g., "document object"); registering (1612) one or more objects as data update listeners on the document object; receiving (2002-2004) a call to perform a data update, the call including a fragment describing a relative change to the data model; for each object registered as a data update listener: determining (2214) whether a data binding associated with an object is affected by the data update; and if a data binding is affected by the data update, setting (2008) new data from the data model on the object
9. The data update bus as recited in Claim 8, wherein registering one or more objects as data update listeners includes creating a translated XBind, the translated XBind referencing data in the data model that the one or more objects are bound.
10- The data update bus as recited in Claim 8, wherein the object is a user interface component and registering the object as a data update listener, includes: causing a rule handler to apply the rules of the user interface component relative to the current version of the data model; and merging rules associated with the user interface component into the data model with rules associated with a different object
11. The data update bus as recited in Claim 8, wherein the fragment encapsulates the data for implementing the data update in the data model serialized in XML.
12. The data update bus as recited in Claim 8, wherein the fragment is propagated to remote listeners utilizing a channel that abstracts communications between a local computing device and a network service.
13. The data update bus as recited in Claim 8, wherein determining whether a data binding associated with the object is affected by the data update includes comparing an XBind associated with the object with an XBind that references a location in the data model affected by the data update.
14. The data update bus as recited in Claim 8, wherein if the object utilizes rules, setting data on the object, includes: causing a rule handler to execute the rules associated with the document; and providing the object with current namespace information.
15. A computing device configured to set rules of an object to interpret content in a data model, comprising: a processor (300); a memory (304) having computer-executable instructions which, when executed by the processor, causes the computing device to: add (1616) a rule associated with a new object to a rule handler maintained in a data model; cause (2108) the rule handler to apply the rules of the new object relative to the current version of the data model; and merge (2110) the rules of the new object into the data model, the rules being merged into a namespace that is separate from namespaces allocated to the rules associated with one or more existing objects that are bound to a document in the data model.
16. The computing device as recited in Claim 15, further configured to notify the one or more existing objects bound to the document of the data update to the rules maintained in the data model.
17. The computing device as recited in Claim 15, wherein to add a rule associated with a new object to a rule handler includes registering the new object as a data update listener that is notified when the document experience a data update.
18. The computing device as recited in Claim 15, wherein to cause the rule handler to apply the rules of the new object relative to the current version of the data model includes executing the rules of the one or more existing objects that are bound to the document
19. The computing device as recited in Claim 15, wherein to merge the rules of the new object into the rule handler includes providing a reference to the new object that identifies an XML namespace allocated to the object's rules.
20. The computing device as recited in Claim 15, wherein the new object is a user interface component defined in accordance with an Application Programming Interface that does not have developers provide scripting logic to define the component's functionality.
21. A method implemented in instructions executed by a computing device for evaluating an expression that references an atomic component, the method comprising: determining (1804) whether a semantic expression in an application requests data associated with an atomic component that is not associated with a defined data binding; identifying (1806) a runtime object that holds data relating to the current state of the atomic component, the state of the runtime object configured to change during execution of the application; requesting and receiving (1808) data referenced in the expression from the runtime object that corresponds to the atomic component; and propagating (1810) the data referenced in the expression to a system provided document maintained in a data model.
22. The method as recited in Claim 21, wherein the expression utilizes a name that is global to the application to reference the atomic component and wherein identifying a runtime object that holds data relating to the current state of the atomic component includes identifying an application instance which caused the atomic component to be instantiated.
23. The method as recited in Claim 21, wherein determining whether a semantic expression hi an application requests data associated with an atomic component includes configuring each runtime object associated with an application to be queried for an XBind that defines the runtime objects data binding.
24. The method as recited in Claim 23, wherein the XBind is a multidimensional data type that includes at least a URL, base path, and optional selection.
25. The method as recited in Claim 21, wherein requesting and receiving data referenced in the expression from the runtime object that corresponds to the atomic component includes serializing data maintained by the runtime object into XML.
26. The method as recited in Claim 21, wherein each expression defined in the application that is evaluated complies with XML syntax, and wherein propagating the data referenced in the expression to a system provided state document includes creating a translated expression that points to a location in the system provided state document where the data referenced in the expression is accessible.
27. A system for hosting a network file system, the system comprising: an XML network service (2510) for two-way communication with a client computing device; a file server (2516) for storing raw data files; an index server (2518) for storing full-text indexes of the raw data files and file metadata; and a folder database (2520) for storing folder hierarchy information.
28. The system as recited in Claim 27, further comprising a transaction coordinator for facilitating concurrent use of a file maintained in the network file system by multiple client computing devices when the multiple client computing devices each register as a listener to an object cached by the transaction coordinator.
29. The system as recited in Claim 28, further comprising a message server for providing the client computing device a notification concerning updates affecting the object cached by the transaction coordinator.
30. The system as recited in Claim 27, further comprising a communication channel instantiated on the client computing device that provides functions to an application executing on the client computing device in performing file system operations exposed by the network service that include one or more of the group consisting of loading, opening, and saving a file.
31. The system as recited in Claim 27, further comprising a communication channel instantiated on the client computing device configured to communicate an Action URL to the network service, the Action URL identifying the type of processing that the network service will perform.
32. The system as recited in Claim 27, wherein the network sendee is further configured to: accept a request from an application executing on the client computing device to perform a search for a file associated with specified metadata; cause one or more files having attributes that match the metadata to be identified from an index of file metadata created by the index server, the list of files being returned from the index server in the format of a network feed; and return the list to the application executing on the client computing device.
33. The system as recited in Claim 27, wherein the folder hierarchy information maintained in the folder database further includes permissions associated with folders in the file system, the permissions used to determine whether a user is a group member mat has rights to access a group folder.
34. The system as recited in Claim 27, wherein the network service is further configured to construct a document describing a folder tree, comprising: obtaining folder metadata associated with a root folder from the folder database; obtaining metadata describing each file in the root folder from the index server; and inserting the folder and file metadata corresponding to the root folder into the document.
35. The system as recited in Claim 34, further comprising: for each subfolder having the same permissions with respect a user as the root folder; obtaining folder metadata associated with the subfolder from the folder database; obtaining metadata describing each file in the subfolder folder from the index server; inserting the folder and file metadata corresponding to the subfolder into the document.
36. The system as recited in Claim 35, further comprising: for each subfolder having different permissions with respect to the user as the root folder; inserting an XLink corresponding to the subfolder into the document, the XLink allowing a user to access the subfolder once the user's right to access the subfolder are authenticated.
37. A system for providing software as a service to a client computing device, comprising: a network service (2510) providing access to a network file system in which a users files are available as a virtual drive on the client computing device; at least one application (2402) that provides application logic in semantic application code written according to the one or more XML schemas; an XML virtual machine (510) delivered as a service from the network service (2510) configured to interpret semantic application code written according to one or more XML schemas, the semantic application code being translated into platform independent code on the client computing device; wherein the XML virtual machine (510) is configured to cause the logic of the at least one application to be executed without being installed as an executable on the client computing device.
38. The system as recited in Claim 37, wherein the data and application logic of the at least one application executed by the XML virtual machine is separated into a model, view, and controller.
39. The system as recited in Claim 37, wherein the at least one application that describes application logic according to the one or more XML schemas is configured to provide a common desktop environment in which common applications and user data are accessible across different computing devices.
40- The system as recited in Claim 37, wherein application user interface logic interpreted by the XML virtual machine adheres to a first XML schema and wherein application process logic adheres to a second XML schema.
41. The system as recited in Claim 37, wherein the network service is further configured to facilitate current use of a file by multiple users with an update to the file being propagated to each user in real time.
42. The system as recited in Claim 37, wherein the network service is further configured to: authenticate that a user is a member of a group that has rights to access a root folder in the network file system; generate and transmit a document describing the contents of the root folder to the client computing device.
43. The system as recited in Claim 42, wherein to generate and transmit a document describing the contents of the root folder to the client computing device, includes:
(a) obtaining folder metadata associated with the root folder from a folder database;
(b) obtaining metadata describing each file in the root folder from an index server; and
(c) repeating (a) and (b) for each folder having the same permissions with respect to the user as the root folder.
44. A method implemented in computer-executable instructions that, when executed by a computer processor, produces a document for transmission to a client computing device that describes a folder tree, the method comprising: in response to receiving a request from the client computing device to access a root folder, querying (2814) a folder database for information associated with the root folder including an access control list describing a users access rights with regard to the root folder; authenticating (3116) that the user has rights to access the root folder; adding (2816) metadata associated with the root folder to the document that describes the folder tree; for each subfolder within the hierarchy of the root folder that has the same permissions with respect to the user as the root folder; obtaining (2818) folder metadata of the subfolder from the folder database; adding (2816) metadata associated with the subfolder to the document that describes the folder tree.
45. The method as recited in Claim 44, further comprising: querying an index server for information describing each file in the root folder; adding metadata associated with each file in the root folder to the document that describes the folder tree; and wherein at least one file in the root folder is of a file type that initiates execution of an application upon the root folder being mounted as a virtual drive on the client computing device.
46. The method as recited in Claim 44, further comprising: accepting a request from a client computing device to perform a search for a file associated with specified content; identifying one or more files from an index having content that matches data provided in the request.
47. A message server configured to provide client computing devices notifications concerning a subscribed object, the message server comprising: a processor (300); and a computer-readable media (304) having computer-executable instructions stored thereon that, when executed by the processor, cause the message server to perform a method of providing the client computing devices a notification regarding the subscribed object, the method comprising: receiving (3144) a notification that the subscribed object has been updated; locating (3150) a message chain associated with the subscribed object; traversing (2704) links in the message chain; and sending (3156) a notification to each client computing device identified in traversing the message chain that registered as a listener on the subscribed object
48. The message server as recited in Claim 47, wherein the computer-readable media has at least one subscription list associated with a client computing device, the subscription list identifying each subscribed object that the client computing device registered as a listener.
49. The message server as recited in Claim 48, wherein subscribed objects that the client computing device registered as a listener is one or more selected from the group of the online status of a user, a change to a shared file, and a modification affecting a group folder.
50. The message server as recited in Claim 47, wherein a message chain associated with the subscribed object links entries in the subscription lists associated with different client computing devices.
51. The message server as recited in Claim 47, wherein a transaction coordinator in communication with the message server causes the message server to send a notification to multiple client computing devices indicating that a file cached by the transaction coordinator is actively shared by multiple users.
52. The message server as recited in Claim 47, wherein a subscribed object represents a file that stores communications being exchanged in a chat session, the message server configured to send chat communications when the file storing data exchanged during the chat session experiences a data update.
53. A method implemented in computer-executable instructions that, when executed by a computer processor, initiates a chat session between two or more computing devices, the method comprising: creating a tile (3000) on a network file system; for each user participating in the chat session: registering (3034) the user as a listener for data updates to the file at the network file system; caching (1116) a version of the file on a local client computing device; binding (1600) one or more user interface components to display chat communications to the version of the file cached locally; and in response to a chat communication being input on the local client computing device, updating (2008) the binding between the user interface component and the version of the file cached locally to display the chat communication, and propagating (2010) a transaction containing the chat communication to a network service.
54. The method as recited in Claim 53, further comprising: receiving the transaction at a network service; determining that the file is actively shared by multiple client computing devices; and transmitting the chat communication to each of the client computing that registered as a listener for data updates to the file.
55. The method as recited in Claim 54, wherein determining that the file is actively shared includes causing a message server to perform a lookup of an object in a subscription list, the object linking multiple client computing devices in a message chain.
56. The method as recited in Claim 53, wherein registering the user as a listener for data updates to the file at the network file system includes maintaining a special folder in the network file system, the special folder being monitored by a server process that abstracts the initiation of a chat session for an application executing on the client computing device.
57. The method as recited in Claim 53, wherein creating a file on a network file system, includes: retrieving a raw file data from a file server; and instantiating and caching an object on a transaction coordinator that provides a runtime representation of the file.
58. The method as recited in Claim 53, wherein registering the user as a listener for data updates to the file at the network file system, includes: instructing a message server to add the object to a subscription list associated with a client computing device; and if multiple client computing devices are registered as listeners, linking entries of the object between multiple subscription lists.
59. The method as recited in Claim 53, wherein caching a version of the file on a local client computing device includes using a communication channel to load the file in a client-side cache.
60. The method as recited in Claim 53, wherein application code is executed in response to a chat communication being input on the local client computing device configured to: propagate text input into a user interlace component to a file cached locally; and cause the text to be transmitted to remote devices using a network service.
61. A chat application implemented in instructions executed by a computer processor for performing real-time communications with a remote computing device, comprising: a data model (2500) for storing data comrnunicated during a chat session; a text display component (3702) bound to the data model; a text entry component (3704) for accepting a chat communication input by a user during a chat session; and a send component (3706) that causes application code to be executed in response to the user generating an activation event to send a chat communication, the application code configured to: propagate (2508) the chat communication to a file in the data model that the text display component is bound; and cause (2510) the chat communication to be transmitted to the remote computing devices using a network service.
62. The chat application as recited in Claim 61, further comprising a communication channel, configured to: receive a chat communication from the network service generated by a remote computing device; and propagate the received chat communication to the file in the data model that the text display component is bound.
63. The chat application as recited in Claim 61, wherein to bind the text display component to the data model, includes: instantiating document object; and registering the text display component as a data update listener on the document object, wherein the document object notifies the text display component when a chat communication is propagated to the data model.
64. The chat application as recited in Claim 63, wherein the text display component provides at least one rule for interpreting how a chat communication in the data model is visually displayed.
65. The chat application as recited in Claim 61, wherein the text entry component is an atomic component that is not associated with a data binding, and wherein to propagate the chat communication to a file in the data model includes accessing a runtime object associated with the text entry component to obtain the text of a chat communication.
66. The chat application as recited in Claim 61, further comprising a communication channel configured to access operations of a network file system to load a file that is actively shared by multiple computing devices.
67. A client computing device configured to boot a network operating system, comprising: a processor (300); a computer-readable media (304) having computer-executable instructions stored thereon that, when executed by the processor (300), causes the computing device to perform a method of booting a network operating system, comprising: initiating (3204) a process virtual machine configured to execute one or more applications on the client computing device; instantiating (3210) a communication channel for managing communications with a data source and using the communication channel to obtain a user-specific startup sequence; and implementing (3214) the startup sequence, wherein implementing the startup sequence includes causing at least one application to be obtained from the data source and executed by the process virtual machine.
68. The client computing device as recited in Claim 67, wherein the process virtual machine is an XML virtual machine that is configured to execute applications described semantically in one or more XML programming languages, and wherein initiating the XML virtual machine includes obtaining the XML virtual machine from a server-side data center.
69. The client computing device as recited in Claim 67, wherein the process virtual machine is embedded in a microprocessor within the client computing device.
70. The client computing device as recited in Claim 67, wherein the specific communication channel that is instantiated is identified based on a location URL navigated to using a host Web browser program.
71. The client computing device as recited in Claim 67, wherein the specific communication channel that is instantiated is identified based on one configuration parameter associated with the client computing device selected from the group of a HTTP query parameter, HTTP cookie data, IP address, geographic location, and machine type.
72. The client computing device as recited in Claim 67, wherein the communication channel is configured to manage communications with a data source that is local to the client computing device and the user-specific startup sequence is implemented without using any network services.
73. The client computing device as recited in Claim 67, wherein implementing the startup sequence causes a folder from a first network file system and a folder from a second network file system to each be mounted as a virtual drive on the client computing device using separate communication channels.
74. The client computing device as recited in Claim 67, wherein the startup sequence is described semantically in a configurable XML document that identifies one or more applications to launch after a successful login to a serve-side data center.
75. The client computing device as recited in Claim 67, wherein a login application is associated with the communication channel that is launched to obtain user credentials for mounting a group folder.
76. A system for connecting a client computing device to multiple data sources, the system comprising: a first data source (2500) associated with a first communication channel (2504) for delivering a process virtual machine to the client computing device; a second data source (2420) associated with a second communication channel (2414); a client computing device configured to: instantiate the first communication channel (2504) to mount a virtual drive representing the first data source on the client computing device; and initiate (1000) execution of at least one application on the process virtual machine, the application configured to cause the second communication channel (2414) to be instantiated that mounts a virtual drive representing the second data source (2420) on the client computing device.
77. The system as recited in Claim 76, wherein the first data source is a network file system accessible from the Internet and the second data source is file system provided from a private network.
78. The system as recited in Claim 76, wherein a data source that is mounted as a virtual drive is one selected from the group of a local storage device, a network file system, and a shared group folder.
79. The system as recited in Claim 76, wherein a data source mounted as a virtual drive on the client computing device is a folder tree from a network file system, and wherein mounting the folder tree includes creating a document for transmission to the client computing device, comprising: querying a folder database for information associated with the root folder of the folder tree; authenticating that a user has rights to access the root folder; and adding metadata associated with the root folder to the document.
80. The system as recited in Claim 79, further comprising: for each subfolder within the hierarchy of the root folder that has the same permissions with respect to the user as the root folder; obtaining folder metadata of the subfolder; and adding metadata associated with the subfolder to the document that describes the folder tree.
81. The system as recited in Claim 76, wherein at least one file in the root folder is of a file type that initiates execution of an application upon the root folder being mounted as a virtual drive on the client computing device.
82. The system as recited in Claim 76, wherein the first and second communication channels are created in accordance with a communicator Application Programming Interface that accepts logic for accessing data from a data source and translating the data into an XML format expected by an executing application.
83. The system as recited in Claim 76, wherein applications executed by the process virtual machine accesses a model document to implement application functionality without interacting directly with a data source that is managed by a communication channel,
84. A method implemented in computer-executable instructions that, when executed by a computer processor, allows a communication channel to be created in accordance with a Application Programming Interface, the method comprising: accepting one or more API calls directed at creating a communication channel (2504), the one or more API calls including call parameters that define logic for at least obtaining data from a data source (2500) and creating a model document (2502); instantiating a communication channel (2504) that implements the logic defined in the one or more API calls; and obtaining data from the data source (2500) and creating a model document (2502), wherein the application accesses the model document (2502) in implementing application functionality without interfacing directly with the data source that is managed by the communication channel (2504).
85. The method as recited in Claim 84, wherein the logic provided in accordance with the APIs defines standardized operations for loading, reading, and editing data obtained from the data source.
86. The method as recited in Claim 84, wherein obtaining data from the data source and creating a model document includes mounting a virtual drive on a client computing device, and wherein the data source is one selected from the group of a local storage device, a network file system, and a shared group folder.
87. A method of using an Action URL to allow a first application to access functionality of a second application, the method comprising: instantiating (3210) a communication channel for managing message passing between the first and second applications; causing (2806) an Action URL to be passed from the first application to the communication channel, wherein the format of the Action URL includes a first portion for identifying the communication channel to handle the Action URL and a second portion that uses a document path of the URL standard to provide an action descriptor; and invoking (3000) functionality of the second application as specified in the action descriptor portion of the Action URL.
88. The method as recited in Claim 87, wherein invoking functionality of the second application, includes: translating the action descriptor portion of the Action URL into a request expected by a network service; and transmitting the request to the network service.
89. The method as recited in Claim 87, wherein the action descriptor portion of the Action URL is in a format that includes a function name that identifies the functionality to invoke and one or more parameters that are passed to the second application.
90. The method as recited in Claim 87, wherein the first application is configured to access an XML document in a data model when implementing application functionality, the method further configured to: obtain data generated by the second application from a network service; and translate the data into an XML format for access by the first application.
91. \ The method as recited in Claim 87, wherein invoking fonctionality of the second application, includes: identifying a data type of a document specified in a parameter of the Action URL; and performing actions that depend on the identified data type.
92. The method as recited in Claim 91, wherein the document provides the process logic of the application and wherein the action performed that depends on the identified data type is to launch the second application.
93. The method as recited in Claim 87, wherein the Action URL accesses communicator-specific operations apart from standardized operations that are defined in communicator APIs.
94. The method as recited in Claim 87, wherein the Action URL invokes application functionality for processing data in a data model on a local computing device that is outside an XML virtual machine environment.
95. The method as recited in Claim 87, wherein an XLink is inserted in an XML document that describes logic of the first application and wherein the Action URL is passed from the first application to the communication channel when the XLink is activated.
96. The method as recited in Claim 95, wherein logic referenced in the XLink is not currently stored on a local computing device and wherein invoking functionality of the second application includes loading a document from a network service using the communication channel.
97. The method as recited in Claim 87, wherein functionality of the second application is invoked on demand when a user activates an XLink embedded in an HTML document.
98. The method as recited in Claim 97, wherein the XLink is associated with an invitation to become a group member and wherein activation of the XLink, includes; transmitting the Action URL to a network file system; authorizing a user specified in the Action URL to access a group folder in the network file system; and mounting the group folder as a virtual drive on a client computing device associated with the user.
99. The method as recited in Claim 87, wherein passing of the Action URL from the first application to the communication channel occurs asynchronously from functionality of the second application being invoked.
100. A system having computer executable instructions, that, when executed by a computer processor, links functionality provided by different resources, the system comprising: at least one XLink (2826) defining an explicit relationship between resources, wherein resources referenced in the XLink (2826) may be local or reside on separate computing devices; an action URL having a first portion that identifies a communication protocol (2414-2418) for transmitting data between resources and a second portion that uses a document path of the URL standard to provide an action descriptor; and wherein activation of the XLink (2826) causes the Action URL to be communicated from a first resource to a second resource using the communication protocol (2414-2418) identified in the Action URL.
101. The system as recited in Claim 100, further comprising a data type recognizer configured to identify a data type of a resource referenced in the Action URL and initiate actions to perform processing that depends on the identified data type,
102. The system as recited in Claim 101, wherein the action performed that depends on the identified data type is one selected from the group of launching an application and rendering at least one user interface component.
103. The system as recited in Claim 100, where the first and second resources are one selected from the group of a file, image, document, application, and query result.
104. The system as recited in Claim 100, further comprising a communication channel for managing communications between the first and second resources, and wherein activation of the XLink initiates the passing of the Action URL from an application being executed by an XML virtual machine to the communication channel.
105. The system as recited in Claim 104, wherein the communication channel is further configured to: obtain data generated by the second resource from a network service; and translate content obtained from the network service into an XML format for access by the application being executed by the XML virtual machine.
106. The system as recited in Claim 100, wherein the first portion of the Action URL is associated with a communication channel and wherein the action descriptor includes a function name and one or more parameters.
107. A method implemented in computer-executable instructions that, when executed by a computer processor, models a selection state of a user interface component, the method comprising: defining (616) a binding between the user interface component and a document in a data model, wherein the binding causes one or more data items in the document to be displayed on the user interface component; wherein the user interface component is configured to: allow (2300) the one or more data items displayed on the user interface component to be selected; and in response to a selection of the one or more data items, generate (1502) a variable that represents a selection state of the user interface component, the variable having at least three dimensions including a first dimension referencing the document in the data model, a second dimension limiting the selection to an ancestor node in the document, and a third dimension identifying one or more descendent nodes from the ancestor node that stores the selected one or more data items.
108. The method as recited in Claim 107, wherein defining a binding between the user interface component and a document in a data model includes propagating one or more rules associated with the user interface component to the data model, the one or W
more rules providing logic that allows a generic component to interpret content in the data model.
109. The method as recited in Claim 107, wherein the variable is an XBind having a URL in a first dimension, a base path expression in a second dimension, and a plurality of base path expressions in a third dimension.
110. The method as recited in Claim 107, wherein: if one data item is selected, a second dimension of the variable references a root node of an XML document and a third dimension provides a path to a descendent node of the root node that stores the selected data item; and if a plurality of data items are selected, the second dimension of the variable provides a path to a parent node of the one or more descendent nodes and the third dimension includes an XPath expression for identifying particular data items in the descendant nodes.
111. The method as recited in Claim HO5 further comprising evaluating an XPath expression into text.
112. The method as recited in Claim 107, wherein the user interface component displays a folder tree from a network file system and wherein the variable identifies a folder in the network file system mat was selected by a user.
113. A computer-readable media having computer-executable modules that provide a standard way of representing a state of a user interface component, comprising: a data model (710) for storing structured data; at least one user interface component configured to: cause (2200) one or more data items from the data model to be displayed on a visual rendering of the user interface component; allow (2300) the one or more data items to be selected; and generate (1502) a variable that represents a selection state of the user interface component; and a state manager configured to cause the selection state of the user interface component as represented in the variable to be propagated to the data model (710).
114. The computer-readable medium as recited in Claim 113, wherein an application defines a binding between the user interlace component and an XML document in the data model, wherein the one or more data items displayed on the user interface component are identified by the application in an XPath expression.
115. The computer-readable medium as recited in Claim 113, wherein storing structured data in the data model includes providing a rule handler the rules of multiple runtime objects bound to the same document,
116. The computer-readable medium as recited in Claim 113, wherein the variable generated by the user interface component has at least three dimensions including a first dimension referencing the document in the data model that stores the one or more data items, a second dimension that limits a selection to an ancestor node in the document, and a third dimension identifying one or more descendent nodes from the ancestor node that stores the selected one or more data items.
117. The computer-readable medium as recited in Claim 113, wherein the variable generated by the user interface component is an XBind having a URL as the first dimension, a base path expression in the second dimension, and a plurality of base path expressions in the third dimension.
118. The computer-readable medium as recited in Claim 113, wherein the state manager is further configured to facilitate synchronization of the application's state across multiple client computing devices, comprising: for each user interface component associated with an executing application: propagating the selection state of the user interface component as represented in a common variable format (e.g., XBind) to the data model; and communicating the selection state of the user interface component, serialized in XML, over a communication channel that abstracts communications with a network service.
119. The computer-readable medium as recited in Claim 113, wherein the state manager is further configured to facilitate restoration of an applications state between sessions, comprising: for each user interface component associated with an executing application, propagating the state of the user interface component to a state document in the data model; in a first session, saving the state document to a network file system; and in a second session, retrieving the state document from the network file system and causing each user interface component associated with the application to restore their selection state,
120. The computer-readable medium as recited in Claim 113, wherein the user interface component is an atomic component that is not associated with a defined data binding, and wherein to generate a variable that represents the selection state of the user interface component, includes: accessing text input into the user interface component from a runtime object; causing the text to be inserted into a state document in the data model; and creating an XBind that points to a location in the state document where the text is stored.
121. The computer-readable medium as recited m Claim 113, wherein the one or more data items from the data model displayed on a visual rendering of the user interface component describes a folder tree of a network file system.
122. A computer-readable medium configured to restore a state of an application from a previous network session, comprising: a server side data center (502) for storing user data including data describing the state of an application; at least one client computing device (300) comprising: a processor (300); a memory (304) having computer-executable modules for saving and restoring the state of an application, including: a data update bus (710) configured to set one or more data items from a data model for display by user interface components associated with the application, wherein the one or more data items displayed by the user interface components may be selected by a user; a state manager configured to propagate (2202) a state of each user interface component associated with the application to a state document and cause the state document to be saved at the server side data center (502) in a first network session; wherein, in a second network session, the computing device is further configured to: cause (1600) the one or more data items from the data model to be bound and displayed by each of the user interface components; and obtain (1116) the state document from the server side data center (502) and restore the state of the user interface components that existed in the first network session.
123. The system as recited in Claim 122, wherein a selection state of each user interface component associated with the application is described in a common variable format (e.g., XBind).
124. The system as recited in Claim 122, wherein to restore the state of the user interface components includes causing a user interface component to be rendered at the coordinate positions on a screen display that were occupied during the first network session.
125. The system as recited in Claim 122, wherein to cause the state document to be obtained from the server side data center includes using a communication channel that abstracts communication with a particular network service to load the state document in a client-side cache.
126. The system as recited in Claim 122, wherein to propagate a state of each user interface component associated with the application to a state document, includes: deteπnining whether a user interface component is associated with a data binding; and if the user interface component is an atomic component and not associated with a data binding, accessing data input into the user interface component from a runtime object and propagating the data input into the user interface component to the state document.
127. A method implemented in computer-executable instructions that, when executed by a computer processor, satisfies a request by a second client computing device to open a file when the file is open by a first client computing device, the method comprising: on a server computing device, retrieving (3124) and caching the raw file data in memory; transmitting (3128) the raw file data to the second client computing device; notifying (3150) the first client computing device that the file is shared; obtaining and committing (3152-3154) any previously uncommitted transactions from the first client computing device; and notifying (3156) the second client computing device that the file is shared and propagating any committed transactions obtained from the first client computing device to the second client computing device.
128. The method as recited in Claim 127, further comprising interpreting the transactions propagated to the second client computing device and update the version of the file stored locally.
129. The method as recited in Claim 127, wherein the raw file data is retrieved fiom a file server and cached in memory by a transaction coordinator, the transaction coordinator configured to instruct a message server to add the file to subscription lists associated with both the first and second client computing devices.
130. The method as recited in Claim 127, wherein propagating any previously uncommitted transactions between the first and second client computing devices, includes: receiving a transaction at a network service; determining that the file is shared by multiple client computing devices; and causing a message server to send the transaction to each client computing devices that is registered as a listener on the file.
131. The method as recited in Claim 127, wherein data updates that occur when the file is open by multiple users as represented in transactions are sent to the server-side and committed to the raw file cached in memory without immediately being committed to the file maintained in storage on a file server.
132. The method as recited in Claim 131, wherein a transaction affecting a file that is open by multiple users is committed to storage on a file server in response to one of a user generating a command to save the file, each client computing device closing the file, and after a predetermined time period elapsing from creation of the transaction.
133. The method as recited in Claim 127, wherein a user is authenticated as having rights to access the file before the raw file is transmitted to a computing device associated with the user.
134. The method as recited in Claim 127, wherein a transaction manager on the second client computing device is configured to determine whether any conflicts exist between transactions committed to the file by the first client computing device and transactions generated locally when the second client computing device was offline.
135. A computer readable medium having computer executable instructions, that, when executed by a computer processor, performs a method to create a file in a group folder, the method comprising: receiving (3136) a subscription request from a first client computing device to listen for changes to the group folder; receiving (3010) a file creation request from a second client computing device to create a new file in the group folder; allocating (3020) space for raw file data in a storage location; instructing (3022) a folder database to create an entry for the new file and associate the new file with the group folder; and causing (3030) a message to be transmitted to the first client computing device, the message causing a view of the group folder on the first client computing device to be updated to reflect the creation of the new file by the second client computing device.
136. The computer-readable medium as recited hi Claim 135, wherein the subscription request is generated on the first client computing device by a communication channel that abstracts the generation and transmission of requests to listen for changes to the group folder.
137. The computer-readable medium as recited in Claim 135. wherein a communication channel causes the group folder to be mounted on the first and second client computing devices as a virtual drive.
138. The computer-readable medium as recited in Claim 135, wherein an application executing on a client computing device requests the file using a URL, and wherein a communication channel instantiated by the application abstracts loading of the file from a network file system.
139. The computer-readable medium as recited in Claim 135, wherein creation of the file abstracts the initiation of a real-time communication session between the first and second client computing devices.
140. The computer-readable medium as recited in Claim 135, wherein an application executing on the second client computing device causes the file to be created to initiate a chat session between group members.
141. The computer-readable medium as recited in Claim 135, wherein the file creation is received by a network service that authenticates a users right to create the file in the group folder, comprising: querying a folder database and obtaining an access control list associated with the group folder; and comparing the access control list with the permissions associated with the user.
142. The computer-readable medium as recited in Claim 135, wherein the entry for the file in the folder database associates a file identifier with multiple storage locations that each store raw file data.
143. The computer-readable medium as recited in Claim 135, wherein to associate the new file with the group folder includes propagating metadata associated with the file to an index server configured to perform full text indexing of file data.
144. The computer-readable medium as recited in Claim 135, wherein receiving a subscription request from a first client computing device to listen for changes in a group folder includes adding an object that represents the group folder to a subscription List associated with the first client computing device, and wherein causing a message to be transmitted to the first client computing device includes locating a message chain to identify which client computing devices registered as a listener for updates to the group folder.
145. A system allowing multiple users to receive updates affecting a group folder in a network file system, comprising: a storage component (2514) configured to manage storage of raw file data and folders in the network file system; a message server (2512) operative to; receive (3136) subscription requests to listen for modifications to a group folder that is shared by multiple group members; manage (2704) subscription lists associated with client computing devices of group members that are listening for modifications to the group folder; a transaction coordinator (2522) that facilitates access to the group folder by the client computing devices, the transaction coordinator operative to: retrieve (3122) folder information from the storage component (2514); and in response to a modification affecting the group folder, causing (3156) the message server (2512) to transmit a message to ihe client computing devices of group members that describes the modification to the group folder.
146. The system as recited in Claim 145, wherein the modification affecting the group folder is the creation of a new file in the group folder, and wherein the transaction coordinator is further configured to: cause the storage component to allocate space for raw file data; and instruct a folder database to create an entry for the new file and associate the file with the group folder.
147. A method of opening an application package containing an application's process and UI logic, the method comprising: obtaining (1116) resources of an application being opened as specified in a corresponding application package on a local client computing device; instantiating (1128) an instance object configured to manage the runtime state of the application; and initiating (1130) execution of an application's process and view logic utilizing an application object that is allocated memory space by an application manager.
148. The method as recited in Claim 147, wherein obtaining the resources of an application being opened, includes: evaluating an XML-based expression having a URL that references at least one resource of the application; and checking resources currently maintained in a client-side cache to determine whether the at least one application resource is available locally,
149. The method as recited in Claim 147, wherein the number of application instances that are instantiated is limited to a specified number as indicated in the application package.
150. The method as recited in Claim 147, wherein obtaining the resources of an application being opened as specified in a corresponding application package includes instantiating an application object configured to multiple instance objects.
151. The method as recited in Claim 147, wherein obtaining the resources of an application being opened, includes: determining whether a primary network location that stores the resources is accessible; and if the resources are not available from the primary network location, utilizing semantic logic in the application package to identify a secondary network location.
152. The method as recited in Claim 147, wherein the resources obtained as specified in the application package includes at least one resource selected from an image, XML document, and binary file.
153. The method as recited in Claim 147, wherein the instance object is configured to track at least one object in the view layer and at least one object in the controller layer associated with an application that adheres to the MVC design paradigm.
154. The method as recited in Claim 147, wherein the instance object holds a local expression engine and causes expressions referencing named objects that are global to the application to be evaluated relative to the appropriate application instance.
155. The method as recited in Claim 147, wherein data is provided with the application package describing a state of an executing application serialized in XML and wherein to initiate execution of an application's process and view logic includes re-creating an application state.
156. The method as recited in Claim 147, wherein to initiate execution of an application's process and view logic includes utilizing a data type recognizer to identify a document type from semantic data in the application package and cause actions to be performed that are specific to the identified document type.
157. A computer readable medium having computer executable instructions, that, when executed, by a computer processor performs a method of obtaining one or more application resources in preparation of transitioning to an offline state, comprising: deteπnining (3408) whether an executing application is configured to cause a dynamic resource to be loaded on the client computing device at runtime, wherein the dynamic resource is not identified in an application package; and if a dynamic resource is identified that is not cached on the client computing device, obtaining (3412-3414) the dynamic resource from a network service.
158. The computer-readable medium as recited in Claim 157, further comprising: identifying a static resource utilized by the application as specified in an application package; and if the static resource is not cached on the client computing device, obtaining the static resource from the network service.
159. The computer-readable medium as recited in Claim 158, wherein identifying a static resource utilized by the application includes defining an XML schema in which the resources and settings associated with an application are described in accordance with a structured semantic format.
160. The computer-readable medium as recited in Claim 158, wherein the static resources utilized by the application are embedded in the application package.
161. The computer-readable medium as recited in Claim 157, further comprising: notifying the network service that a user of a first client computing device is offline; and notifying a second client computing devices that subscribed as a listener to the network status of the user that the user is offline.
162. The computer-readable medium as recited in Claim 157, wherein determining whether an executing application is configured to cause a dynamic resource to be loaded on the client computing device includes identifying a resource associated with at least one open UI or process XML document.
163. The computer-readable medium as recited in Claim 147, wherein obtaining the dynamic resource from the network service includes using a communication channel that abstracts operations of a network file system to load the resource in a client-side cache.
164. A system for obtaining application resources when a client computing device is transitioning to an offline state, comprising: a server-side data center (502) configured to provide access to application resources as a network service; at least one client computing device (300), comprising: a processor (302); and a network interface (310) for exchanging data with the server-side data center over a network; and a computer-readable media (304) having computer-executable components for obtaining application resources from the server-side data center, comprising: an application manager (904) configured to identify a static resource utilized by the application as specified in an application package; an instance component (1406) operative to determine whether application code that provides an application's logic references a dynamic resource that is scheduled to be loaded when the application executes; and a communication component (2504) configured to obtain an application's static and dynamic resources not stored locally when the client computing device (300) is scheduled to transition to the offline state.
165. The system as recited in Claim 164, wherein the application manager is further configured to notify the server-side data center that the status of the client computing device is offline and wherein the server-side data is further configured to notify at least one listener regarding the change in a user's network status.
166. The system as recited in Claim 164, wherein to determine whether application code that provides an application's logic references a dynamic resource includes identifying a resource associated with at least one open UI or process XML document.
167. A method implemented in instructions executed by a computer processor of initiating execution of an applications process code, the method comprising: identifying (1106) a data type of a document associated with an application being launched; and if a determination is made that the document contains an applications process code: instantiating (1118) a process object having an execute method for executing a process step in the application; causing (1000) the process object to be associated with an application instance; and activating (1130) an execute method in the process object and providing the process object a corresponding application instance and process step in the applications process code to execute.
168. The method as recited in Claim 167, wherein the applications process code is described in a process XML document adhering to a first schema, the process XML document having at least one operation element to open a UI XML document that adheres to a second schema.
169. The method as recited in Claim 167, wherein identifying a data type of a document associated with an application being launched includes using a data type recognizer to apply criteria associated with a plurality of data types to structural data in the document
170. The method as recited in Claim 169, wherein the data type recognizer is configured to cause a different set of actions to be performed when opening a process XML document depending on whether an application package or standalone application is being launched.
171. The method as recited in Claim 167, wherein instantiating a process object, includes: identifying and registering a trigger defined in a trigger element of a process XML document; and in response to a user interface component experiencing a trigger event, executing the process step as specified in the trigger element.
172. The method as recited in Claim 167, wherein the instantiated process object allows a second object to register as a listener that is notified in response to the process logic of an executing application being modified.
173. The method as recited in Claim 167, wherein the applications process code is described in an XML document and wherein activating an execute method of the process object includes evaluating an expression that references the XML document.
174. A method implemented in instructions executed by a computer processor of using a process XML schema to execute an applications process code, the method comprising: defining a process XML schema (600) in which a valid process XML document includes: a trigger element (602) having one or more attributes for identifying process code to execute in response to a user interface component experiencing a trigger event; at least one operation element (612) having one or more attributes identifying an operation handler to execute and an associated expression; and in response to the user interface component experiencing a trigger event with attributes matching the trigger element, causing (1800) logic represented in the at least one operation element (620) to be executed.
175. The method as recited in Claim 174, wherein the trigger element includes view and component attributes for identifying the application view and component associated with the trigger.
176. The method as recited in Claim 174, wherein the trigger element includes event and step attributes specifying the event type and process step to execute in response to the trigger being activated.
177. The method as recited in Claim 174, wherein the operation element includes a component element having one or more attributes identifying a user interface component and an associated XPath expression.
178. The method as recited in Claim 177, wherein causing logic represented in the at least one operation element to be executed includes creating an XBind that references data in a data model.
179. The method as recited in Claim 174, wherein executing the logic represented in the at least one operation element includes opening a UI XML document identified in an expression and causing an application view represented in the UI XML document to be visually rendered on a computer display.
180. The method as recited in Claim 174, wherein the process XML document is generated using a meta-editor in which constraints of a process XML schema are applied to graphical input provided by a user.
181. A system of providing software as a service to one or more client computing devices, comprising: a network file system (2500) for storing raw data documents and making a users data documents available as a virtual drive on the client computing device; at least one application (2402) that provides application logic hi semantic application code written according to the one or more XML schemas; and an XML virtual machine (510) delivered from a server computing device configured to interpret semantic application code written according to one or more XML schemas, the semantic application code being translated into platform independent code by the XML virtual machine (510).
182. The system as recited in Claim 181, wherein the XML virtual machine is configured to cause the logic of the at least one application to be executed without being installed as an executable on the client computing device.
183. The system as recited in Claim 181, wherein the XML virtual machine is configured to interpret user interface logic in a format that adheres to a first XML schema and wherein application process logic interpreted by the XML virtual machine is in a format that adheres to a second XML schema.
184. The system as recited in Claim 181, wherein the at least one application that describes application logic according to the one or more XML schemas is configured to provide a common desktop environment in which applications and user data are accessible across different computing devices.
185. The system as recited in Claim 181, wherein the network file system is further configured to facilitate current use of a file by multiple client computing devices with an update to the file being propagated to each of the client computing devices in real time.
186. The system as recited in Claim 181, wherein the network file system is further configured to: authenticate that a user is a member of a group that has rights to access a root folder in the network file system; and generate and transmit a file describing a folder tree associated with the group to the client computing device.
187. A method implemented in computer-executable instructions that, when executed by a computer processor, opens a new application view and associates the view with an application instance, the method comprising: utilizing (1304) a data type recognizer to identify a data type of a file as containing an applications user interface logic; creating (1308) a view object that causes the application's user interface components to be rendered; and utilizing (1012) the data type recognizer to pass the resulting view object to an instance object.
188. The method as recited in Claim 187, wherein identifying a data type of a file includes applying hierarchical criteria to structural data in the file, and wherein the data type recognizer is configured to cause a different actions to be performed depending on the type of file that is being opened.
189. The method as recited in Claim 187, wherein causing an applications user interface components to be rendered, includes: instantiating a runtime object that provides computational logic of a user interface component; transforming XML-based user interface logic into an HTML-based format capable of being rendered by a Web Browser; and using the view object to connect graphical elements rendered in the Web browser with the runtime object
190. The method as recited in Claim 189, wherein the computational logic provided by the runtime object is defined in a programming language that is different from the XML-based user interface logic.
191. The method as recited in Claim 187, further comprising binding data displayed by the user interface component to a set of data in a data model identified with an XPath expression.
192. The method as recited in Claim 187, wherein an identifier of a particular application instance is supplied to the view object, and wherein a name assigned to the view object in a global view manager includes the identifier of the associated application instance.
193. The method as recited in Claim 192, wherein the global view manager uses the identifier in the name assigned to a view object to differentiate between views that are associated with different application instances.
194. The method as recited in Claim 187, wherein a name assigned to the view object in a view manager mat is local to the instance does not include the identifier of the application instance.
195. The method as recited in Claim 187, wherein the applications user interface logic is described in a UI XML document adhering to a first schema, and wherein the applications process logic is described in a process XML document that adheres to a second schema.
196. A method implemented in instructions executed by a computer processor of using a UI XML schema to define an applications graphical layout, the method comprising: defining (518) a UI XML schema in which a valid UI XML document (650) includes at least a view element in which the name of the application view is provided; specifying a graphical layout of at least one user interface component in elements and attributes in the UI XML document (650); and in response to an application being launched, instantiating (1050) a runtime object that represents the application view and causing (2300) the at least one user interface component to be rendered on a graphical display in accordance with the graphical layout defined in the UI XML document (650).
197. The method recited in Claim 196, wherein the user interface component is defined in accordance with a component APIs that accepts logic for setting data from a data model on the user interface component and updating data that is visually rendered by the user interface component when the data model experiences a data update.
198. The method recited in Claim 197, further comprising: instantiating a runtime object that implements the computational logic of the user interface component according to the component APIs; and initializing the computational logic provided by the runtime object on the visual rendering of the user interface component.
199. The method recited in Claim 196, wherein an attribute associated with a user interface component in the UI XML document identifies a unique name for referencing the user interface component in expressions.
200. The method recited in Claim 196, wherein the application view is rendered without having the application define any source or script code in the UI XML document.
201. The method recited in Claim 196, wherein instantiating a runtime object representing the application view, includes: identifying a semantic description of an open operation encountered in an application's process code; and evaluating an expression associated with the open operation that references the view defined in the UI XML document
202. The method recited in Claim 196, wherein instantiating a runtime object representing the application view includes utilizing a data type recognizer to identify the data type of the UI XML document.
203. A system for opening an application view, comprising: an open operation handler (1402) configured to execute an open operation defined in an application's process code; a data type recognizer (1404) operative to determine the data type of a document when called by the open operation handler (1402); and a view object (1408) configured to: cause (2300) the graphical elements represented in the document that defines the visual layout of an application view to be rendered; and connect (1700) the rendered graphical elements with the application's process code.
204. The system as recited in Claim 203, further comprising an instance object configured to couple operational meaning to the execution of the application's process code, and wherein the data type recognizer is further configured to associate the view object with a corresponding instance object.
205. The system as recited in Claim 204, further comprising an expression engine configured to evaluate expressions referencing the view object relative to the appropriate application instance.
206. The system as recited in Claim 203, further comprising one or more user interface components that are created within a relationship hierarchy of the view object and wherein to connect the rendered graphical elements with the applications process code includes notifying a trigger event bus when the one or more user interface components experience a trigger event.
207. A method implemented in computer-executable instructions that, when executed by a computer processor, sets a rule associated with a user interface component in a data model, the method comprising: instantiating (1308) a runtime object that implements the computational logic of the user interface component; if the user interface component is a rule user, allocating (2106) a namespace to the components rules in the data model; applying (2108) the rules of the user interface component through the execution of a rule handler; and merging (2110) the rule associated with the user interface component into the data model, the rule being merged into the data model in a namespace that is separate from a namespace associated with a different component.
208. The method as recited in Claim 207, wherein in response to a modification to me data model, the user interface component is configured to: receive a variable describing a location in the data model that was modified; and if the rules in the data model have been modified, execute the rule handler to insure the integrity of the data model relative to the user interface component.
209. The method as recited in Claim 208, wherein the modification to the data model is represented in a plurality of objects, each object providing an XBind that references a location in an XML document where a modification to the data model occurred.
210. A method implemented in computer-executable instructions that, when executed by a computer processor, performs a partial update of data that is displayed by a user interface component, the method comprising: binding (1600) a user interface component to a set of data in a data model; and in response to a modification to the data model, the user interface component is configured to: receive (2208) a variable describing a location in the data model that was modified; identify (2216) a subset of data currently displayed by the user interface component that is affected by the modification to the data model; and update (2220) the binding associated with the user interface component and cause the subset of data currently displayed by the user interface component affected by the data update to be re-rendered.
211. The method as recited in Claim 210, wherein data displayed by the user interface component that is unaffected by the modification to the data model is not re- rendered.
212. The method as recited in Claim 210, wherein binding a user interface component to a set of data in a data model includes configuring the user interface component to satisfy runtime queries for an XBind that references a location in the data model that the user interface component is bound.
213. The method as recited in Claim 210, wherein the modification to the data model is represented in a plurality of objects, each object providing an XBind that references a location in an XML document where a modification to the data model occurred.
214. The method as recited in Claim 210, wherein the variable describing a location in the data model that was modified includes an XPath expression for selecting a subset of data in an XML document.
215. The method as recited in Claim 210, wherein to identify a subset of data currently displayed by the user interface component that is affected by the modification to the data model includes evaluating an XPath expression at runtime while the application is executing.
216. The method as recited in Claim 210, wherein the user interface component is further configured to utilize a rule to interpret content in the data model, the rule allowing a generic component to be adapted for use with a plurality of XML schemas.
217. The method as recited in Claim 216, wherein the rule associated with the user interface component is maintained in a namespace that is separate from a rule associated with a different object bound to the same document.
218. The method as recited in Claim 210, wherein the user interface component is one selected from a tree component, a list component, and a grid component.
219. The method as recited in Claim 210, wherein binding a user interface component to a set of data in the data model, includes: deteπnirdng whether the user interface component is experiencing an initial data update; and if an initial data update is being performed, causing a complete representation of the underlying data referenced in an XBind to be displayed by the user interface component.
220. A method implemented in computer-executable instructions that, when executed by a computer processor, creates a user interface utilizing an Application Programming Interface, the method comprising: accepting one or more API calls from an application directed at creating a new user interface component, the one or more API calls including call parameters that define at least the computational logic for setting (1608) data from a data model on the user interface component and updating (2218) data that is visually rendered when the data model experiences a data update; and instantiating (1308) a runtime object that implements the computational logic as defined in the one or more API calls and initializing (2312) the computational logic of the runtime object on a visual rendering of the user interface component.
221. The method as recited in Claim 220, wherein the call parameters of the one or more API calls includes logic to perform both a partial and full update of the data that is visually rendered by the user interface component, wherein a partial update causes a subset of data currently displayed by the user interface component to be re-rendered.
222. The method as recited in Claim 220, wherein the call parameters of the one or more API calls further includes logic that defines an unload function for performing memory management when the user interface component is closed.
223. The method as recited in Claim 220, wherein the runtime object that implements the computational logic for setting data on the user interface component is created without allowing the application to define any source or scripting code.
224. The method as recited in Claim 220, wherein initializing the computational logic of the runtime object, includes: causing a view of the application to be rendered; and connecting at least one graphical element in a rendering of the user interface component represented in the application view to the runtime object that provides the computational logic for setting data on the user interface component.
225. The method as recited in Claim 220, wherein logic for visually rendering the user interface component is described in an XSLT that is defined independently from the runtime object that provides the computational logic for setting data on the user interface component.
226. The method as recited in Claim 220, wherein the user interface component created utilizing the Application Programming Interface is configured to inherit properties from a parent component.
227. A method implemented in instructions executed by a computer processor of initializing an application's user interface components, the method comprising: connecting (2306) an application view to events generated when a user interacts with a visual display of a computing device; using (2308) logic that describes the visual layout of the application view to render graphical elements of at least one user interface component; instantiating (2310) a runtime object that provides computational logic of the user interface component, wherein the computational logic is defined independently from logic used to visually render the user interface component; and initializing (2312) the computational logic of the runtime object on the visual rendering of the user interface component.
228. The method as recited in Claim 227, wherein connecting an application view to events generated when a user interacts with a visual display of a computing device, includes: registering a listener on a DOM object used by a Web browser to render the application view; and inserting a unique identifier in the DOM object to associate a graphical element with the runtime object.
229. The method as recited in Claim 228, further comprising: receiving notice of a user-generated event; identifying a unique identifier associated with the event from the DOM object; and notifying the runtime object activated by the user-generated event.
230. The method as recited in Claim 227, wherein connecting an application view to events generated when a user interacts with a visual display of a computing device includes utilizing a data type recognizer to determine that a document contains an application's user interface logic.
231. The method as recited in Claim 227, wherein connecting an application view to events generated when a user interacts with a visual display of a computing device includes deteπnining if a previously created dialog still maintained in memory to be reassigned to the application view.
232. The method as recited in Claim 227, wherein to render graphical elements of at least one user interface component includes transforming the XML user interface logic into an HTML-based format capable of being rendered by a Web Browser and wherein the computational logic of the user interface component is defined in a programming language that is different from the XML user interface logic.
233. The method as recited in Claim 227, wherein to render graphical elements of at least one user interface component includes accessing the native graphics primitives of a computing device without using the resources of a Web Browser.
234. The method as recited in Claim 227, wherein initializing the computational logic of the runtime object, includes setting default states of the user interface component utilizing a method defined in accordance with component APIs without having an application provide any source or script code.
235. The method as recited in Claim 227, further comprising binding the user interface component to a document in a data model.
236. A computer-readable medium having computer executable instructions that, when executed by a computer processor, performs a method of visually rendering a user interface component, the method comprising: in a document (650) containing a description of an application's view logic, inserting an XLink that points to view logic associated with the user interface component; rendering (2300) the application's view logic without activating the XLink; in response to an executing application causing the XLink to be activated, obtaining (1116) the view logic associated with the user interface component; and using (2300) the logic obtained when the XLink is activated to render the user interface component.
237. The computer-readable medium as recited in Claim 236, wherein the application's view logic represented in the document is rendered when the application is launched and the user interface component is rendered on demand when accessed by a user.
238. The computer-readable medium as recited in Claim 236, wherein the XLink is inserted as an element in an XML document and provides a bidirectional link between two documents.
239. The computer-readable medium as recited in Claim 236, wherein the view logic referenced in the XLink is not currently stored on a local computing device and obtaining the view logic associated with the user interface component includes loading a document using a channel that abstracts communications with a network service.
240. The computer-readable medium as recited in Claim 236, wherein the view logic referenced in the XLink provides an XML semantic description of the visual layout of the user interface component that does not have any source or script code.
241. The computer-readable medium as recited in Claim 236, wherein the inserted XLink provides the application with sufficient information to obtain the view logic associated with the user interface component without exposing information to a client computing device that would require a separate permission check to access data stored at a network file system.
242. A computing device operative to render an application view and initialize an application's user interface components, comprising: a processor (300); a memory (304) having computer-executable modules for visually rendering an application view and initializing computational logic of the user interface component, comprising: a graphical rendering module (408) operative to render graphical elements on a computer display and receive notice of user-generated events; at least one user interface component (706) associated with logic used to visually render the user interface component on a computer display and an independently defined runtime object (1562) that provides the computational logic to satisfy user- generated events; and a view module (1558) configured to connect graphical elements rendered by the graphical rendering module with computational logic provided by the runtime object.
243. The computing device as recited in Claim 242, wherein the graphical rendering module is a Web Browser and wherein to render graphical elements on a computer display includes performing a transform of XML-formatted data to an HTML format.
244. The computing device as recited in Claim 242, wherein the graphical rendering module utilizes native graphics primitives provided by a machine operating system without using the resources of a Web Browser.
245. The computing device as recited in Claim 242, further comprising a binding module for binding data set on the user interface component to a location in a data model identified by an XPath expression.
246. The computing device as recited in Claim 245, wherein the runtime object is further configured to add a rule for interpreting content in the data model to a rule handler.
247. A computer-readable medium having computer executable instructions, that, when executed by a computer processor, performs a method to apply a data manipulation primitive on an XML document, the method comprising: identifying (1202) an operation in an application that provides logic to modify data in the XML document using a data manipulation primitive; generating (1203) a variable adhering to a common data type for referencing a location in the XML document affected by the data manipulation primitive; and calling (2002) a runtime representation of the XML document (e.g.a "document object") to implement the data manipulation primitive as specified in the operation. wherein the data manipulation primitive is implemented by the document object at runtime while the application is executing.
248. The computer-readable medium as recited in Claim 247, wherein the data manipulation primitive that is implemented on the XML document at runtime is one selected from the group of replace, replaceText, append, prepend, insert, remove, remove children, new, and delete.
249. The computer-readable medium as recited in Claim 247, wherein to implement the data manipulation primitive as specified in the operation, includes: causing a transaction to be generated that represents a relative change to the XML document; and causing the transaction to be transmitted over the network to implement the relative change on a remote computing device.
250. The computer-readable medium as recited in Claim 247, wherein to implement the data manipulation primitive as specified in the operation includes evaluating an expression into text, comprising: identifying a user interface component referenced in the expression; and if the user interface component is atomic and not associated with a data binding, accessing text input into the user interface component directly from a corresponding runtime object.
251. The computer-readable medium as recited in Claim 247, wherein generating a variable adhering to a common data type, includes evaluating an expression in the application into an XBind having a URL and a base path that points to a subset of data in the XML document
252. The computer-readable medium as recited in Claim 247, wherein logic in the application adheres to the MVC design paradigm and wherein the data manipulation primitive is used in the process logic of the application to modify contents of a data model.
253. The computer-readable medium as recited in Claim 247, wherein to implement the data manipulation primitive as specified in the operation includes performing a transform of data from a source format into a destination format and inserting the data in the destination format into the XML document.
254. The computer-readable medium as recited in Claim 253, wherein the transform is an Extensible Style Sheet Language transform that defines how data formatted in accordance with a first XML schema is translated into a format that adheres to a second XML schema.
255. The computer-readable medium as recited in Claim 247, wherein the data manipulation primitive is defined by an application in a store element having a type attribute for identifying a particular type of data manipulation primitive to implement, an optional select attribute for selecting data to insert into the XML document, and a value attribute for referencing a subset of data in the XML document.
256. A method implemented in computer-executable instructions that, when executed by a computer processor, transforms data from a source format to a destination format, the method comprising: identifying (1202) an operation in an application that provides logic for performing a data transform; obtaining (1908) data in the source format from a document identified in the logic of the operation; and applying (1910) the transform defined in the operation on the data in the source format, wherein the transform is applied at runtime while the application is executing.
257. The method as recited in Claim 256, wherein the transform is applied within an operation that is further configured to insert the data in the destination format into an XML document .
258. The method as recited in Claim 257, wherein to insert the transformed data into the XML document, includes: creating a transaction that represents a relative change to an XML document; and causing a data bus to implement the relative change represented in the transaction.
259. The method as recited in Claim 256, wherein the transformed data in the destination format provides the basis for applying logic defined in a second application.
260. The method as recited in Claim 256, wherein the transform is an Extensible Style Sheet Language transform that defines how data formatted in accordance with a first XML schema is translated into a format that adheres to a second XML schema.
261. The method as recited in Claim 256, wherein obtaining data in the source format from a document identified in the logic of the operation includes evaluating an expression in the application into an XBind that points to a subset of data in the document
262. The method as recited in Claim 256, wherein to apply the transform defined in the operation includes providing an XML virtual machine configured to execute applications in which application functionality is separated in accordance with the MVC design paradigm, the logic of the transform being defined in a model XML document.
263. A computer-readable media having computer-executable components for applying a data manipulation primitive on an XML document, comprising: an application component (600) that defines a change operation for modifying data in the XML document using a data manipulation primitive; a document object (710) providing a runtime representation of the XML document having methods for performing a plurality of data manipulation primitives on the XML document; a change handler configured to: parse (1902) the change operation defined in the application component; from logic in the change operation, generate (1904) an XBind that references a location in the XML document affected by the change operation; and call (2008) a method of the document object to implement the data manipulation primitive, wherein the method call provides the document object (710) with the XBind that references the location in the XML document affected by the change operation,
264. The computer-readable medium as recited in Claim 263, further comprising: a communication channel operative to abstract network communications between a local client computing device and a network service; and a transaction manager operative to create a transaction that represents a relative change to the XML document as defined in the change operation and cause the transaction to be transmitted to the network service using the_communication channel.
265. The computer-readable medium as recited in Claim 263, wherein the change handler is further configured to perform an Extensible Style Sheet Language transform on data formatted in accordance with a first XML schema into a second XML schema before implementing the data manipulation primitive on the XML document,
266. The computer-readable medium as recited in Claim 263, wherein the data manipulation primitives implemented by the change handler is one selected from the group of replace, replaceText, append, prepend, insert, remove, remove children, new, and delete.
267. A method of creating a localized relationship hierarchy that associates objects used to execute an application with an instance, the method comprising: instantiating (1128) an instance object that manages the runtime state of an executing application, the instance object associated with an instance identifier; providing (1012) the instance object with a reference to at least one object configured to execute operations defined in the applications process code; supplying (1306) an instance identifier to a view object utilized to implement user interface logic in the application; and providing (1308) the instance object with a reference to the view object.
268. The method as recited in Claim 267, further comprising in response to the applications user interface experiencing a user-generated event: causing a component object held by the view object to identify the application instance mat experienced the event using the instance identifier; and supplying the appropriate instance object to the at least one object associated with the applications process logic.
269. The method as recited in Claim 267, wherein the at least one object configured to execute operations defined in the applications process logic is stateless and used by each instance of the application that is executing,
270. The method as recited in Claim 267, wherein the instance object is held by an application object that is allocated a memory space by an application manager.
271. The method as recited in Claim 267, wherein the instance object maintains a local MiniView manager that holds the reference to the view object.
272. The method as recited in Claim 267, wherein the instance object maintains a local MiniProcess manager that holds reference to the at least one object configured to execute operations defined in the applications process code.
273. The method as recited in Claim 267, wherein the instance object maintains a local expression engine for evaluating expressions that reference a data model.
274. The method as recited in Claim 273, wherein the application adheres to the MVC design paradigm and wherein an object associated with the controller layer of the application utilizes the expression engine provided by the instance object to query the data model layer without directly interacting with objects in a different layer.
275. The method as recited in Claim 267, wherein a data type recognizer is configured to pass the instance identifier to the view object and return the reference to the view object for tracking by a MiniView manager.
276. The method as recited in Claim 267, wherein a data type recognizer is configured to pass the reference to the at least one object configured to execute operations defined in the applications process code for tracking by a MiniProcess manager.
277. A method of executing a multi-instance application that adheres to the MVC design paradigm, the method comprising: establishing (1308) a relationship hierarchy between an instance and at least one object associated with the application's process logic and at least one object associated with the application's user interface logic; in response to the applications user interface experiencing a user-generated event, causing the at least one object associated with the applications user interface logic to identify (1708) the instance that experienced the event; and notifying (1712) the object associated with the application's process logic of the user-generated event and supplying the appropriate instance.
278. The method as recited in Claim 277, wherein establishing a relationship hierarchy between an instance and at least one object associated with the application's process logic and the at least one object associated with the application's user interface logic, includes: instantiating an instance object; wherein the instance object is configured with a local MiniView manager that holds reference to the at least one object associated with the application's user interface logic and a MiniProcess manager that holds reference to the at least one object associated with the application's process logic.
279. The method as recited in Claim 278, wherein supplying the appropriate instance includes evaluating an expression, comprising: performing a lookup in a local MiniView manager for a reference to a view object referenced in the expression; and if the view object is not in the local Mini View manager, performing a lookup in a global view manager for the view object.
280. The method as recited in Claim 277, wherein establishing a relationship hierarchy includes supplying an instance identifier to the at least one object associated with the applications user interface logic.
281. The method as recited in Claim 277, wherein the instance is held by an application object having a memory space that is allocated to the application object by an application manager.
282. The method as recited in Claim 277, wherein notifying the object associated with the application's process logic of the user-generated event is performed utilizing an event manager configured to register an object associated with the controller layer in a MVC application as a listener for an event generated by an object associated with the user interface layer in the MVC application.
283. A system that connects a controller layer of an application to a data model and view layers of the application, the system comprising: an expression engine (1260) configured to provide declarative access to the model layer from the process logic of the application without having an object in the controller layer interact directly with an object in the model layer; an event manager (914) operative to allow the process logic of the application register a listener for a trigger that originates from an object within the view layer of the application; a process component (600) configured to: cause (1708) expressions that reference the data model layer to be evaluated by the expression engine relative to the appropriate application instance; register (1124) one or more triggers with the event manager; and receive (1712) notice from the event manager (914) when an object within the view layer of the application experiences a trigger.
284. The system as recited hi Claim 283, wherein to cause expressions referencing the data model layer to be evaluated by the expression engine relative to the appropriate application instance includes establishing a relationship hierarchy between an instance object and at least one object associated with the controller layer and at least one object associated with the view layer.
285. The system as recited in Claim 283, wherein to cause expressions referencing the data model layer to be evaluated by the expression engine relative to the appropriate application instance includes configuring an instance object to hold the expression engine.
286. The system as recited in Claim 283, wherein receiving notice of the trigger includes causing the object within the view layer of the application to identify an application instance that experienced the trigger.
287. A method of providing an object with current namespace information when a data update is performed that affects one or more rules in a data model, the method comprising; receiving (2202) notice when the rules maintained in a document in the data model experience a data update; invoking (2206) a rule handler associated with the document that experienced the data update; and providing (2208) current namespace information to the object, the current namespace information allowing the object to identify content in the data model associated with the object's rules.
288. A system of managing data synchronization for an executing application, the system comprising: a transaction manager (910) configured to receive a request to perform a data update on a document and create a transaction that represents a relative change to the document; a document (710) in a data model operative to receive the transaction generated by the transaction manager (910), implement the data update represented in the transaction, and notify one or more listeners of the data update to the data model; and W
a data binding component (706) configured to register as a listener for data updates to the document (710), receive notice when the document (710) experienced a data update, and perform an update to the information that is displayed on a user interface to reflect the data update.
289. A system that provides a data source abstraction layer for an application, the system comprising: a communication manager (2412) configured to create. and hold one or more communication channels (2414-2418) for obtaining a resource from an external source, receive a request to obtain the resource from the external source, identify the communication channel configured to handle the request, and cause the communication channel to obtain the resource from the external source; and a document manager (912) configured to provide a request to the communication manager (2412) to obtain the resource if the resource is only accessible from the external source and hold one or more document objects (2404-2408) that allows the application to access the resource.
290. A system for managing the flow of control in an executing application, comprising: a process step (612) having one or more operations that define a sequential thread of execution, wherein the flow of execution is returned to a calling object once all of the operations (614-618) in the process step (612) have been executed; and a call statement within the body of the process step (612) that overrides the default flow of execution and causes execution to be directed to a target process step identified in the call statement, wherein flow of execution returns to the call statement once the target process step completes execution.
291. The system as recited in Claim 290, wherein the call statement is configured to be a time delay call in which flow of execution is directed to the target process step after a specified period of time specified in the call statement.
292. The system as recited in Claim 290, wherein the call statement is configured to be a time interval call in which flow of execution is returned to the process step from the target process step after an interval of time specified in the call statement.
293. The system as recited in Claim 290, wherein the call statement is configured to be an asynchronous call in which flow of execution in the process step continues without waiting for the target process step to complete execution.
294. The system as recited in Claim 290, further comprising a decision operation within the process step that performs a comparison between at least two alternatives- the result of the comparison overriding the default flow of execution and causing execution to be directed to a target process step identified within the body of the decision operation without returning flow of execution back to the process step.
295. The system as recited in Claim 294, wherein to perform a comparison within the body of the decision operation includes evaluating an XPath expression defined within the body of the decision operation.
296. The system as recited in Claim 290, further comprising an open operation that causes the applications user interface logic to be obtained and one or more user interface components to be visually rendered.
297. The system as recited in Claim 290, further comprising a trigger configured to: cache the identity of a process step to execute in response to a triggering event; and in response to the occurrence of the triggering event, directing the flow of execution to the identified process step,
298. A method of managing the flow of executing in an application, the method comprising: directing (1130) flow of execution to a process step (612) hi the application having one or more operations that define a sequential thread of execution; upon encountering a call statement between operations in the process step (612), directing (1712) execution to a target process step identified in the call statement; and returning (1200) flow of execution to the call statement once the target process step completes execution.
299. The method as recited in Claim 298, further comprising; upon encountering a decision operation in the process step, performing a comparison between at least two alternatives; and based on the results of the comparison, directing flow of execution to a target process step identified in one of the alternatives defined in the body of the decision operation without returning flow of execution back to the process step.
300. The method as recited in Claim 299, wherein performing a comparison between at least two alternatives includes evaluating an XPath expression defined within the body of the decision operation.
301. The method as recited in Claim 298, wherein the call statement is configured to be a time delay call in which flow of execution is directed to the target process step after a specified period of time specified in the call statement.
302. The method as recited in Claim 298, wherein the call statement is configured to be a time interval call in which execution is returned to the process step from the target process step after a specified period of time specified in the call statement.
303. The method as recited in Claim 298, wherein the call statement is configured to be asynchronous and flow of execution in the process step continues without waiting for the target process step to complete execution.
304. The method as recited in Claim 298, wherein directing flow of execution to a process step in the application, includes: identifying and registering a trigger defined by the application; and in response to an event that activates the trigger, directing flow of execution from an object that activated the trigger to the identified process step.
305. The method as recited in Claim 298, wherein directing flow of execution as indicated in the call statement causes an asynchronous request for data to be transmitted over a communication channel to a network service.
306. A method of extending an XML virtual machine (512) using a process operation Application Programming Interface, the method comprising: establishing the XML syntax structure that may exist in the body of an operation (614-618), including: providing a definition of at least one child element (622) having an associated name and data type; and providing a definition of at least one attribute associated with the at least one child element (622) having an associated name, data type, and use that specifies whether the attribute is required; generating an operation handler (1402) for interpreting logic defined in the at least one child element (622), the operation handler (1402) configured to interface with an execute method that passes the same parameter types to each operation handler invoked by an application being executed by the XML virtual machine (510).
307. The method as recited in Claim 306, wherein the parameters passed to the operation handler includes an instance object, process object, and an evaluated XBind.
308. The method as recited in Claim 307, wherein the operation handler is supplied everything used to interpret logic in the body of the operation without returning data to the execute method.
309. The method as recited in Claim 306, wherein the operation handler is a standalone function that is accessed from a network service without being executed directly on a client computing device.
310. A method for obtaining a list of files in a folder, the method comprising: receiving (2908) a folder identifier in a request for a list of files in the folder that may be accessed by the user; querying (2910) an indexing server to retrieve a list of files associated with the folder identifier; searching (2912) the list of files for one or more restricted files, each restricted file having associated data that indicates that the user does not have access rights to the file; removing (2914) one or more files from the list of files; and transmitting (2916) the list of files to a client computing device.
311. A method of providing privacy within the context of a group membership, the method comprising: obtaining (3204) a global user name utilized to reference a user in a community that does not have a defined membership; creating (3300) a group having an associated folder that stores a user-defined handle for referencing the user within the context of the group; mapping (2704) the global user name to a user-defined handle of one or more groups in which the user is a member, and in communications to group members, resolving (3100) the identity of the user between the global user name and the user-defined handle.
312. A method of providing a composite application that accesses a plurality of remote data sources, the method comprising: defining one or more communication channels (2414-2418) for obtaining data from each of the remote data sources; binding (1600) at least one component to a document in a data model that abstracts data received over the one or more communication channels; and updating (2300) the user interface of the component when data is received over the one or more communication channels (2414-2418) from a remote source.
313. Computer readable media, computing devices, apparatus, methods, and systems as illustrated and described herein.
PCT/US2008/078169 2007-09-28 2008-09-29 Network operating system WO2009043033A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200880116332A CN101861576A (en) 2007-09-28 2008-09-29 Network operating system
BRPI0817473A BRPI0817473A2 (en) 2007-09-28 2008-09-29 application platform to run applications
KR1020107009416A KR101501174B1 (en) 2007-09-28 2008-09-29 Network operating system

Applications Claiming Priority (42)

Application Number Priority Date Filing Date Title
US97626907P 2007-09-28 2007-09-28
US97622207P 2007-09-28 2007-09-28
US97625807P 2007-09-28 2007-09-28
US97621607P 2007-09-28 2007-09-28
US97633907P 2007-09-28 2007-09-28
US97625207P 2007-09-28 2007-09-28
US97628107P 2007-09-28 2007-09-28
US97624607P 2007-09-28 2007-09-28
US97629207P 2007-09-28 2007-09-28
US97630807P 2007-09-28 2007-09-28
US97630107P 2007-09-28 2007-09-28
US97632007P 2007-09-28 2007-09-28
US97624907P 2007-09-28 2007-09-28
US97631207P 2007-09-28 2007-09-28
US97632707P 2007-09-28 2007-09-28
US97626607P 2007-09-28 2007-09-28
US97627507P 2007-09-28 2007-09-28
US97630407P 2007-09-28 2007-09-28
US97631107P 2007-09-28 2007-09-28
US97632507P 2007-09-28 2007-09-28
US97628307P 2007-09-28 2007-09-28
US60/976,327 2007-09-28
US60/976,269 2007-09-28
US60/976,308 2007-09-28
US60/976,266 2007-09-28
US60/976,258 2007-09-28
US60/976,249 2007-09-28
US60/976,222 2007-09-28
US60/976,339 2007-09-28
US60/976,311 2007-09-28
US60/976,325 2007-09-28
US60/976,246 2007-09-28
US60/976,320 2007-09-28
US60/976,275 2007-09-28
US60/976,292 2007-09-28
US60/976,281 2007-09-28
US60/976,312 2007-09-28
US60/976,252 2007-09-28
US60/976,304 2007-09-28
US60/976,216 2007-09-28
US60/976,301 2007-09-28
US60/976,283 2007-09-28

Publications (3)

Publication Number Publication Date
WO2009043033A2 WO2009043033A2 (en) 2009-04-02
WO2009043033A3 WO2009043033A3 (en) 2009-07-23
WO2009043033A4 true WO2009043033A4 (en) 2009-09-17

Family

ID=40512130

Family Applications (5)

Application Number Title Priority Date Filing Date
PCT/US2008/078169 WO2009043033A2 (en) 2007-09-28 2008-09-29 Network operating system
PCT/US2008/078166 WO2009043030A2 (en) 2007-09-28 2008-09-29 Network operating system
PCT/US2008/078164 WO2009043029A2 (en) 2007-09-28 2008-09-29 Network operating system
PCT/US2008/078171 WO2009043035A2 (en) 2007-09-28 2008-09-29 Network operating system
PCT/US2008/078173 WO2009043037A2 (en) 2007-09-28 2008-09-29 Network operating system

Family Applications After (4)

Application Number Title Priority Date Filing Date
PCT/US2008/078166 WO2009043030A2 (en) 2007-09-28 2008-09-29 Network operating system
PCT/US2008/078164 WO2009043029A2 (en) 2007-09-28 2008-09-29 Network operating system
PCT/US2008/078171 WO2009043035A2 (en) 2007-09-28 2008-09-29 Network operating system
PCT/US2008/078173 WO2009043037A2 (en) 2007-09-28 2008-09-29 Network operating system

Country Status (5)

Country Link
US (23) US20090172715A1 (en)
EP (4) EP2206050A4 (en)
KR (5) KR101501174B1 (en)
BR (4) BRPI0818194A2 (en)
WO (5) WO2009043033A2 (en)

Families Citing this family (415)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9565297B2 (en) 2004-05-28 2017-02-07 Oracle International Corporation True convergence with end to end identity management
US9245236B2 (en) 2006-02-16 2016-01-26 Oracle International Corporation Factorization of concerns to build a SDP (service delivery platform)
US8966498B2 (en) 2008-01-24 2015-02-24 Oracle International Corporation Integrating operational and business support systems with a service delivery platform
US9038082B2 (en) * 2004-05-28 2015-05-19 Oracle International Corporation Resource abstraction via enabler and metadata
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
US8914493B2 (en) 2008-03-10 2014-12-16 Oracle International Corporation Presence-based event driven architecture
US8539473B2 (en) * 2007-01-30 2013-09-17 Microsoft Corporation Techniques for providing information regarding software components for a user-defined context
CN101267445B (en) * 2007-03-12 2013-04-17 华为技术有限公司 A WEB service realization system, device and method
US20090172715A1 (en) * 2007-09-28 2009-07-02 Xcerion Ab Network operating system
US8230353B2 (en) * 2007-10-11 2012-07-24 Oracle America, Inc. Iterative development of services from WSDL
US8036980B2 (en) * 2007-10-24 2011-10-11 Thomson Reuters Global Resources Method and system of generating audit procedures and forms
US9357025B2 (en) 2007-10-24 2016-05-31 Social Communications Company Virtual area based telephony communications
US9009603B2 (en) 2007-10-24 2015-04-14 Social Communications Company Web browser interface for spatial communication environments
US8050988B2 (en) * 2007-10-24 2011-11-01 Thomson Reuters Global Resources Method and system of generating audit procedures and forms
JP2009123022A (en) * 2007-11-15 2009-06-04 Canon Inc Document management apparatus, document management method, program and storage medium
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US9654515B2 (en) 2008-01-23 2017-05-16 Oracle International Corporation Service oriented architecture-based SCIM platform
US9003059B2 (en) * 2008-03-31 2015-04-07 Microsoft Technology Licensing, Llc Running applications in an online or offline mode based on the availability of the connection to the remote web server
US9235909B2 (en) 2008-05-06 2016-01-12 International Business Machines Corporation Simplifying the presentation of a visually complex semantic model within a graphical modeling application
US9002984B2 (en) * 2008-06-17 2015-04-07 Go Daddy Operating Company, LLC Direct domain software and file access computer system
US8589474B2 (en) * 2008-06-17 2013-11-19 Go Daddy Operating Company, LLC Systems and methods for software and file access via a domain name
US9002985B2 (en) * 2008-06-17 2015-04-07 Go Daddy Operating Company, LLC Branded and comarketed domain-based thick client system
US20090313363A1 (en) * 2008-06-17 2009-12-17 The Go Daddy Group, Inc. Hosting a remote computer in a hosting data center
US20090327238A1 (en) * 2008-06-28 2009-12-31 Microsoft Corporation Extensible binding of data within graphical rich applications
US20100023955A1 (en) * 2008-07-28 2010-01-28 Marcottage Method and system and apparatus for dynamic software environment
US8291378B2 (en) 2008-07-29 2012-10-16 International Business Machines Corporation Simplified deployment modeling
US8849987B2 (en) * 2008-07-29 2014-09-30 International Business Machines Corporation Automated discovery of a topology of a distributed computing environment
DE102008035601A1 (en) * 2008-07-31 2010-02-04 Walter, Thomas, Dr.-Ing. System for managing files
US10819530B2 (en) 2008-08-21 2020-10-27 Oracle International Corporation Charging enabler
US8302093B2 (en) * 2008-08-28 2012-10-30 International Business Machines Corporation Automated deployment of defined topology in distributed computing environment
US9280335B2 (en) 2010-09-30 2016-03-08 International Business Machines Corporation Semantically rich composable software image bundles
US8417658B2 (en) 2008-09-12 2013-04-09 International Business Machines Corporation Deployment pattern realization with models of computing environments
US8793652B2 (en) 2012-06-07 2014-07-29 International Business Machines Corporation Designing and cross-configuring software
US8402381B2 (en) 2008-09-23 2013-03-19 International Business Machines Corporation Automatically arranging widgets of a model within a canvas using iterative region based widget relative adjustments
WO2010037201A1 (en) 2008-09-30 2010-04-08 Wicksoft Corporation System and method for secure management of mobile user access to enterprise network resources
US8490052B2 (en) * 2008-10-14 2013-07-16 Microsoft Corporation Declarative programming model for authoring and execution control and data flow for resource oriented system
US8533666B2 (en) * 2008-10-17 2013-09-10 Microsoft Corporation Interactive design environments to visually model, debug and execute resource oriented programs
US9015593B2 (en) * 2008-12-01 2015-04-21 International Business Machines Corporation Managing advisories for complex model nodes in a graphical modeling application
US20100198872A1 (en) * 2009-01-25 2010-08-05 Thomas Norwin Walter System for the Management of Files
JP5166318B2 (en) * 2009-02-24 2013-03-21 株式会社東芝 Apparatus, method and program for processing information
US9239840B1 (en) 2009-04-24 2016-01-19 Swish Data Corporation Backup media conversion via intelligent virtual appliance adapter
US9087066B2 (en) * 2009-04-24 2015-07-21 Swish Data Corporation Virtual disk from network shares and file servers
CN101561748A (en) * 2009-05-21 2009-10-21 阿里巴巴集团控股有限公司 Display method and Display device of the tag detail in IM software
US7953896B2 (en) * 2009-05-27 2011-05-31 Microsoft Corporation Managing user accounts and groups in multiple forests
US8375251B2 (en) * 2009-06-11 2013-02-12 Microsoft Corporation Monitoring and healing a computing system
JP5159711B2 (en) * 2009-06-25 2013-03-13 インターナショナル・ビジネス・マシーンズ・コーポレーション Embedded device and its status display control method
US8799203B2 (en) * 2009-07-16 2014-08-05 International Business Machines Corporation Method and system for encapsulation and re-use of models
US8200710B2 (en) * 2009-07-28 2012-06-12 Sap Ag System and method for runtime rendering of web-based user interfaces for master data management
US8341214B2 (en) * 2009-08-12 2012-12-25 Xerox Corporation System and method for communicating with a network of printers using a mobile device
US20110040793A1 (en) * 2009-08-12 2011-02-17 Mark Davidson Administration Groups
US9508049B2 (en) * 2009-08-30 2016-11-29 Hewlett-Packard Development Company, L.P. Update-triggered document-defined workflow
US8266125B2 (en) * 2009-10-01 2012-09-11 Starcounter Ab Systems and methods for managing databases
US20110090236A1 (en) * 2009-10-15 2011-04-21 Microsoft Corporation Graphic Object Data Binding
US9965453B2 (en) * 2009-10-15 2018-05-08 Microsoft Technology Licensing, Llc Document transformation
KR101610830B1 (en) * 2009-11-05 2016-04-11 삼성전자주식회사 Apparatus and Method for executing application
DE102009054114A1 (en) * 2009-11-20 2011-05-26 Siemens Aktiengesellschaft Method and device for accessing control data according to provided rights information
US9269060B2 (en) 2009-11-20 2016-02-23 Oracle International Corporation Methods and systems for generating metadata describing dependencies for composable elements
US20110137991A1 (en) * 2009-12-01 2011-06-09 Lester Paul Russell Systems and methods for management and collaboration in a private network
TWM381231U (en) * 2009-12-01 2010-05-21 Inxtron Inc Network device for remote firmware update
US9098507B2 (en) * 2009-12-03 2015-08-04 At&T Intellectual Property I, L.P. Dynamic content presentation
US9503407B2 (en) 2009-12-16 2016-11-22 Oracle International Corporation Message forwarding
US9509790B2 (en) 2009-12-16 2016-11-29 Oracle International Corporation Global presence
US8495746B2 (en) * 2009-12-18 2013-07-23 Verizon Patent And Licensing Inc. Apparatuses, methods and systems of an application security management platform
US9088580B2 (en) * 2009-12-31 2015-07-21 Microsoft Technology Licensing, Llc Access control based on user and service
US8997053B2 (en) 2010-01-14 2015-03-31 Worksoft, Inc. System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
US8346935B2 (en) * 2010-01-15 2013-01-01 Joyent, Inc. Managing hardware resources by sending messages amongst servers in a data center
US8780130B2 (en) 2010-11-30 2014-07-15 Sitting Man, Llc Methods, systems, and computer program products for binding attributes between visual components
US9715332B1 (en) 2010-08-26 2017-07-25 Cypress Lake Software, Inc. Methods, systems, and computer program products for navigating between visual components
US8892677B1 (en) 2010-01-29 2014-11-18 Google Inc. Manipulating objects in hosted storage
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
WO2011101784A1 (en) * 2010-02-16 2011-08-25 Tigertext Inc. A messaging system apparatuses circuits and methods of operation thereof
US8504400B2 (en) 2010-03-24 2013-08-06 International Business Machines Corporation Dynamically optimized distributed cloud computing-based business process management (BPM) system
US20110239117A1 (en) * 2010-03-25 2011-09-29 Microsoft Corporation Natural User Interaction in Shared Resource Computing Environment
US20110239133A1 (en) * 2010-03-29 2011-09-29 Microsoft Corporation Shared resource computing collaboration sessions management
US20110258538A1 (en) * 2010-03-31 2011-10-20 Heng Liu Capturing DOM Modifications Mediated by Decoupled Change Mechanism
US8892628B2 (en) 2010-04-01 2014-11-18 Microsoft Corporation Administrative interface for managing shared resources
US8627426B2 (en) * 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8719223B2 (en) 2010-05-06 2014-05-06 Go Daddy Operating Company, LLC Cloud storage solution for reading and writing files
US9356991B2 (en) 2010-05-10 2016-05-31 Litera Technology Llc Systems and methods for a bidirectional multi-function communication module
US9122691B2 (en) * 2010-05-13 2015-09-01 International Business Machines Corporation System and method for remote file search integrated with network installable file system
US8572029B2 (en) * 2010-05-31 2013-10-29 Salesforce.Com, Inc. Methods and systems for synchronizing data in a multi-tenant database environment
US20110296043A1 (en) * 2010-06-01 2011-12-01 Microsoft Corporation Managing Shared Sessions in a Shared Resource Computing Environment
WO2011155945A1 (en) * 2010-06-11 2011-12-15 Hewlett-Packard Development Company, L.P. Http-based client-server communication system and method
US8443292B2 (en) 2010-06-11 2013-05-14 Hewlett-Packard Development Company, L.P. Scripting application with privacy mode coordination
US8700723B2 (en) * 2010-06-15 2014-04-15 Netzyn, Inc. Hierarchical display-server system and method
WO2011160139A1 (en) 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US20130117275A1 (en) * 2010-07-16 2013-05-09 Nec Corporation Index monitoring system, index monitoring method and program
US9001050B2 (en) * 2010-07-19 2015-04-07 Red Hat Israel, Ltd. Touch screen emulation for a virtual machine
TW201205257A (en) * 2010-07-19 2012-02-01 Hon Hai Prec Ind Co Ltd Power adjusting circuit, motherboard including the circuit, and method for the motherboard
US8881056B2 (en) * 2010-08-30 2014-11-04 Sap Se Dynamic view computation and display
US9645839B2 (en) 2010-10-27 2017-05-09 Microsoft Technology Licensing, Llc Stateful applications operating in a stateless cloud computing environment
US8484465B1 (en) * 2010-12-08 2013-07-09 Google Inc. Heterogeneous virtual machines sharing a security model
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US8429124B2 (en) * 2010-12-21 2013-04-23 Neustar Information Services, Inc. On demand multi-location large database synchronization system
GB2500356A (en) 2011-01-20 2013-09-18 Box Inc Real time notification of activities that occur in a web-based collaboration environment
JP5652228B2 (en) * 2011-01-25 2015-01-14 富士通株式会社 Database server device, database update method, and database update program
CN102184715B (en) * 2011-01-30 2012-11-28 广东佳和通信技术有限公司 Screen refreshing device and method based on syncretic communication terminal
US8555276B2 (en) 2011-03-11 2013-10-08 Joyent, Inc. Systems and methods for transparently optimizing workloads
GB2489463A (en) 2011-03-29 2012-10-03 Gm Global Tech Operations Inc Method of controlling fuel injection in a common rail engine
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
KR101272077B1 (en) * 2011-05-16 2013-06-12 에스케이텔레콤 주식회사 System and method for providing push service
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
KR101852815B1 (en) * 2011-06-21 2018-06-04 엘지전자 주식회사 Client and server terminals and method for controlling the same
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US9489396B2 (en) * 2011-07-01 2016-11-08 V3 Systems Holdings, Inc. Intermediation of hypervisor file system and storage device models
GB2503625A (en) 2011-07-08 2014-01-01 Box Inc Collaboration sessions in a workspace on cloud-based content management system
EP2729877A4 (en) 2011-07-08 2015-06-17 Box Inc Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9229934B2 (en) * 2011-07-12 2016-01-05 Salesforce.Com, Inc. Method and system for document integration
US9411970B2 (en) * 2011-08-19 2016-08-09 Microsoft Technology Licensing, Llc Sealing secret data with a policy that includes a sensor-based constraint
US9432454B2 (en) 2011-08-29 2016-08-30 At&T Intellectual Property I, L.P. Cloud-to-cloud peering
US8855017B2 (en) * 2011-09-07 2014-10-07 Telefonaktiebolaget Lm Ericsson (Publ) System and method of building an infrastructure for a virtual network
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
CN102999347B (en) * 2011-09-15 2015-07-29 腾讯科技(深圳)有限公司 A kind of system reloading method, system and client
US20130073692A1 (en) * 2011-09-15 2013-03-21 Ibromed Corporation Systems and methods for receiver-controlled data distribution
KR101350661B1 (en) * 2011-09-30 2014-01-10 엔에이치엔엔터테인먼트 주식회사 Apparatus and method for executing hybrid application using web technology
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9355115B2 (en) * 2011-11-21 2016-05-31 Microsoft Technology Licensing, Llc Client application file access
WO2013082320A1 (en) 2011-11-29 2013-06-06 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US8938712B2 (en) 2011-12-22 2015-01-20 International Business Machines Corporation Cross-platform virtual machine and method
FR2985130A1 (en) * 2011-12-23 2013-06-28 France Telecom METHOD FOR SHARING MULTIMEDIA CONTENT BETWEEN AT LEAST ONE FIRST USER AND ONE SECOND USER ON A TELECOMMUNICATIONS NETWORK
US8547379B2 (en) 2011-12-29 2013-10-01 Joyent, Inc. Systems, methods, and media for generating multidimensional heat maps
US8468251B1 (en) 2011-12-29 2013-06-18 Joyent, Inc. Dynamic throttling of access to computing resources in multi-tenant systems
US9069579B2 (en) * 2011-12-29 2015-06-30 Vmware, Inc. N-way synchronization of desktop images
US8782224B2 (en) 2011-12-29 2014-07-15 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9686212B2 (en) * 2012-02-08 2017-06-20 Thomson Reuters Global Resources Unlimited Company Systems, methods and interfaces for using a messaging program across a multiple applications and communications environment
US11455350B2 (en) 2012-02-08 2022-09-27 Thomson Reuters Enterprise Centre Gmbh System, method, and interfaces for work product management
US9507875B2 (en) * 2012-02-09 2016-11-29 Fujitsu Limited Symbolic hyper-graph database
JP5929305B2 (en) * 2012-02-24 2016-06-01 株式会社リコー Communication system, server, terminal, program
KR20130097532A (en) * 2012-02-24 2013-09-03 한국전자통신연구원 Apparatus and method for interlocking in heterogeneous network
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
CN102638567B (en) * 2012-03-02 2015-05-20 深圳市朗科科技股份有限公司 Multi-application cloud storage platform and cloud storage terminal
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9459990B2 (en) * 2012-03-27 2016-10-04 International Business Machines Corporation Automatic and transparent application logging
US20130262378A1 (en) * 2012-04-02 2013-10-03 Microsoft Corporation Aggregation point for enterprise business application binding
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US20130268868A1 (en) * 2012-04-10 2013-10-10 Sap Ag Embedded Communication Facility for Collaborative Business Networks
US20130275546A1 (en) * 2012-04-11 2013-10-17 AppSense, Inc. Systems and methods for the automated migration from enterprise to cloud storage
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
GB2505272B (en) 2012-05-04 2014-07-09 Box Inc Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform
US9088463B1 (en) 2012-05-11 2015-07-21 Amazon Technologies, Inc. Container contract for data dependencies
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
JP2014010465A (en) 2012-06-27 2014-01-20 International Business Maschines Corporation Method for selecting storage cloud for storing entity file from two or more storage cloud and computer and computer program
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US8793669B2 (en) * 2012-07-17 2014-07-29 Concurix Corporation Pattern extraction from executable code in message passing environments
US9237170B2 (en) 2012-07-19 2016-01-12 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US9378026B2 (en) * 2012-07-27 2016-06-28 Daniel A. Dooley Customizable application
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US8775917B2 (en) 2012-08-09 2014-07-08 Sweetlabs, Inc. Systems and methods for alert management
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
GB2513671A (en) 2012-08-27 2014-11-05 Box Inc Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US8775925B2 (en) * 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
US9081757B2 (en) 2012-08-28 2015-07-14 Sweetlabs, Inc Systems and methods for tracking and updating hosted applications
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US9348490B2 (en) * 2012-09-14 2016-05-24 Ca, Inc. User interface with configuration, registration, and runtime selection of views
US10530894B2 (en) * 2012-09-17 2020-01-07 Exaptive, Inc. Combinatorial application framework for interoperability and repurposing of code components
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
US9069735B2 (en) 2012-10-15 2015-06-30 Sweetlabs, Inc. Systems and methods for integrated application platforms
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9628268B2 (en) 2012-10-17 2017-04-18 Box, Inc. Remote key management in a cloud-based environment
US9160809B2 (en) 2012-11-26 2015-10-13 Go Daddy Operating Company, LLC DNS overriding-based methods of accelerating content delivery
US9141669B2 (en) 2013-01-22 2015-09-22 Go Daddy Operating Company, LLC Configuring an origin server content delivery using a pulled data list
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
US9165046B2 (en) * 2013-01-15 2015-10-20 Realnetworks, Inc. Core data synchronization systems and methods
KR102087395B1 (en) * 2013-01-16 2020-03-10 삼성전자주식회사 Method and apparatus for executing application prograom in an electronic device
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US9384208B2 (en) 2013-01-22 2016-07-05 Go Daddy Operating Company, LLC Configuring a cached website file removal using a pulled data list
WO2014116493A1 (en) * 2013-01-24 2014-07-31 Thomson Reuters Global Resources Systems, methods and interfaces for using a messaging program across a multiple applications and communications environment
US20150161079A1 (en) * 2013-01-30 2015-06-11 David GROSFELD File formats and methods for representing documents
US9438493B2 (en) 2013-01-31 2016-09-06 Go Daddy Operating Company, LLC Monitoring network entities via a central monitoring system
US10977425B1 (en) * 2013-03-13 2021-04-13 Sprint Communications Company L.P. Dynamic resource refresh
US8881279B2 (en) 2013-03-14 2014-11-04 Joyent, Inc. Systems and methods for zone-based intrusion detection
US8943284B2 (en) 2013-03-14 2015-01-27 Joyent, Inc. Systems and methods for integrating compute resources in a storage area network
US9104456B2 (en) 2013-03-14 2015-08-11 Joyent, Inc. Zone management of compute-centric object stores
US8826279B1 (en) 2013-03-14 2014-09-02 Joyent, Inc. Instruction set architecture for compute-based object stores
US8677359B1 (en) 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US8793688B1 (en) 2013-03-15 2014-07-29 Joyent, Inc. Systems and methods for double hulled virtualization operations
US8775485B1 (en) 2013-03-15 2014-07-08 Joyent, Inc. Object store management operations within compute-centric object stores
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
US9134962B1 (en) * 2013-03-15 2015-09-15 Sanctum Solutions, Inc. Interactive content development
US9736222B1 (en) * 2013-04-28 2017-08-15 Amdocs Software Systems Limited System, method, and computer program for automatically exposing application programming interfaces (APIS) associated with an application server to one or more client devices
US20140330937A1 (en) * 2013-05-03 2014-11-06 Microsoft Corporation End-to-end classification of storage traffic streams
US10846074B2 (en) * 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US9122657B2 (en) 2013-05-16 2015-09-01 International Business Machines Corporation Webpage display system leveraging OSGI
US9378100B2 (en) 2013-05-17 2016-06-28 Go Daddy Operating Company, LLC Tools for storing, accessing and restoring website content via a website repository
PT2999392T (en) * 2013-05-21 2019-09-12 Neurovision Imaging Inc System and method for imaging a patient user's body part
GB2515192B (en) 2013-06-13 2016-12-14 Box Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US9594795B1 (en) * 2013-06-28 2017-03-14 EMC IP Holding Company LLC Maintaining data consistency when data is changed out from under another data service
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9244615B2 (en) 2013-09-13 2016-01-26 Microsoft Technology Licensing, Llc Systems and methods based on policy criteria for controlling the flow of data storage input/output requests between endpoints
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US9704137B2 (en) * 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
JP6459258B2 (en) * 2013-09-17 2019-01-30 株式会社リコー Information processing apparatus, information processing system, information processing method, and program
US9785452B2 (en) * 2013-10-09 2017-10-10 Cisco Technology, Inc. Framework for dependency management and automatic file load in a network environment
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US10191765B2 (en) 2013-11-22 2019-01-29 Sap Se Transaction commit operations with thread decoupling and grouping of I/O requests
DE102013225058A1 (en) * 2013-12-05 2015-06-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. DEVICE, SYSTEM AND METHOD FOR THE EFFICIENT AND DELIVERABLE SYNCHRONIZATION OF GRAPHIC DATA STRUCTURES
US9749440B2 (en) 2013-12-31 2017-08-29 Sweetlabs, Inc. Systems and methods for hosted application marketplaces
AU2015204414A1 (en) * 2014-01-07 2016-06-23 Attache Software Australia Pty Limited Document and object manipulation
US9426258B1 (en) * 2014-02-03 2016-08-23 Emc Corporation Expression based declarative data service execution chaining
EP2911054A1 (en) * 2014-02-20 2015-08-26 Siemens Aktiengesellschaft System for management and processing of data of a medical device
US9479909B2 (en) 2014-03-20 2016-10-25 Tigertext, Inc. Method of sending messages to devices not configured to receive them
US20150269856A1 (en) * 2014-03-24 2015-09-24 Guru Labs, L.C. Virtual classroom management system and interface
US9306985B1 (en) * 2014-03-25 2016-04-05 8X8, Inc. User configurable data storage
US9448789B2 (en) * 2014-04-04 2016-09-20 Avid Technology, Inc. Method of consolidating, synchronizing, and streaming production content for distributed editing of media compositions
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US10171579B2 (en) 2014-04-08 2019-01-01 Dropbox, Inc. Managing presence among devices accessing shared and synchronized content
US10091287B2 (en) * 2014-04-08 2018-10-02 Dropbox, Inc. Determining presence in an application accessing shared and synchronized content
US9501211B2 (en) 2014-04-17 2016-11-22 GoDaddy Operating Company, LLC User input processing for allocation of hosting server resources
US9660933B2 (en) 2014-04-17 2017-05-23 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates
CN106464717B (en) * 2014-05-12 2019-05-17 微软技术许可有限责任公司 Method for public cloud to be connect with private network resource
US10019247B2 (en) 2014-05-15 2018-07-10 Sweetlabs, Inc. Systems and methods for application installation platforms
US10089098B2 (en) 2014-05-15 2018-10-02 Sweetlabs, Inc. Systems and methods for application installation platforms
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
JP5687380B1 (en) * 2014-07-16 2015-03-18 ガンホー・オンライン・エンターテイメント株式会社 Terminal device
US10212110B2 (en) 2014-08-13 2019-02-19 Hp Printing Korea Co., Ltd. Cloud system and method of displaying, by cloud system, content
US10021049B2 (en) 2014-08-13 2018-07-10 S-Printing Solution Co., Ltd. Cloud system and method of displaying, by cloud system, content
KR101720778B1 (en) * 2014-08-13 2017-03-28 에스프린팅솔루션 주식회사 Cloud system and method for displaying contents thereof
US10545749B2 (en) 2014-08-20 2020-01-28 Samsung Electronics Co., Ltd. System for cloud computing using web components
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9917923B2 (en) * 2014-09-26 2018-03-13 Oracle International Corporation Building message relationships for offline operation of an enterprise application
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9715402B2 (en) * 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9853863B1 (en) 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items
US9690834B2 (en) * 2014-11-27 2017-06-27 Siemens Product Lifecycle Management Software Inc. Representation, comparison, and troubleshooting of native data between environments
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
WO2016109578A1 (en) * 2014-12-30 2016-07-07 Sling Media, Inc. Automated application installation on media players and other controlled devices
US10769826B2 (en) 2014-12-31 2020-09-08 Servicenow, Inc. Visual task board visualization
US9727725B2 (en) 2015-02-04 2017-08-08 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US20160246582A1 (en) * 2015-02-25 2016-08-25 Red Hat, Inc. Generic Semantic Configuration Service
US9846528B2 (en) 2015-03-02 2017-12-19 Dropbox, Inc. Native application collaboration
EP3265883B1 (en) 2015-03-03 2023-02-15 Soroco Private Limited Software robots for programmatically controlling computer programs to perform tasks
US10346397B2 (en) 2015-03-26 2019-07-09 Caswil Corporation System and method for querying data sources
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
CN107624241B (en) * 2015-04-09 2021-01-12 欧姆龙株式会社 Method, system, and computer-readable storage medium for embedded web server
US10431106B1 (en) 2015-04-13 2019-10-01 Aptima, Inc. Systems and methods to measure performance
US10356157B2 (en) * 2015-04-16 2019-07-16 Google Llc Systems and methods for notifying users of changes to files in cloud-based file-storage systems
CN106155812A (en) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 Method, device, system and the electronic equipment of a kind of resource management to fictitious host computer
KR101647278B1 (en) 2015-04-29 2016-08-23 (주)유미테크 JSON Transformation of DNS Packet and Top Extraction Method
WO2016186628A1 (en) * 2015-05-15 2016-11-24 Hewlett-Packard Development Company, L.P. Hardware bus redirection
KR102328193B1 (en) * 2015-06-24 2021-11-18 한국전자통신연구원 Apparatus and method for virtual desktop service
US11102313B2 (en) 2015-08-10 2021-08-24 Oracle International Corporation Transactional autosave with local and remote lifecycles
US10582001B2 (en) 2015-08-11 2020-03-03 Oracle International Corporation Asynchronous pre-caching of synchronously loaded resources
US10419514B2 (en) 2015-08-14 2019-09-17 Oracle International Corporation Discovery of federated logins
US10452497B2 (en) * 2015-08-14 2019-10-22 Oracle International Corporation Restoration of UI state in transactional systems
US10904083B2 (en) * 2015-09-25 2021-01-26 Intel Corporation IOT service modeling with layered abstraction for reusability of applications and resources
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10582012B2 (en) 2015-10-16 2020-03-03 Oracle International Corporation Adaptive data transfer optimization
US20170154066A1 (en) * 2015-11-30 2017-06-01 International Business Machines Corporation Subscription service for monitoring changes in remote content
CN105404474A (en) * 2015-12-07 2016-03-16 上海爱数信息技术股份有限公司 Data migration method of heterogeneous distributed memory system
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9830449B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US9830175B1 (en) 2015-12-16 2017-11-28 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9811363B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9516620B1 (en) * 2015-12-28 2016-12-06 Motorola Solutions, Inc. Method and apparatus for binding of a user-based public identity to a shared device in an internet protocol multimedia subsystem (IMS)-based communication system
US10248933B2 (en) 2015-12-29 2019-04-02 Dropbox, Inc. Content item activity feed for presenting events associated with content items
CN106936871B (en) * 2015-12-30 2020-05-29 阿里巴巴集团控股有限公司 Method and device for displaying data on interface
US10620811B2 (en) 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
CN107015851A (en) * 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 A kind of serviced component management method and system
CN105591842B (en) * 2016-01-29 2018-12-21 中国联合网络通信集团有限公司 A kind of method and apparatus obtaining mobile terminal operating system version
US10044098B2 (en) * 2016-02-19 2018-08-07 Facebook, Inc. Modular base station
US11194572B2 (en) * 2016-02-22 2021-12-07 International Business Machines Corporation Managing external feeds in an event-based computing system
US10728727B2 (en) * 2016-03-04 2020-07-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Systems and methods for reducing interference in wireless communication among computing devices
WO2017156496A1 (en) * 2016-03-11 2017-09-14 Post Oak Today LLC Methods and apparatus for establishing shared memory spaces for data access and distribution
US10437521B2 (en) * 2016-03-25 2019-10-08 Netapp, Inc. Consistent method of indexing file system information
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10382502B2 (en) 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
CN107515879B (en) * 2016-06-16 2021-03-19 伊姆西Ip控股有限责任公司 Method and electronic equipment for document retrieval
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US9952896B2 (en) 2016-06-28 2018-04-24 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US11314546B2 (en) * 2016-11-18 2022-04-26 Data Accelerator Ltd Method and system for executing a containerized stateful application on a stateless computing platform using machine learning
CN107622006B (en) * 2016-07-14 2020-07-07 上海思立微电子科技有限公司 Mobile device testing system and method for testing mobile device
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11348072B2 (en) * 2016-09-26 2022-05-31 Microsoft Technology Licensing, Llc Techniques for sharing electronic calendars between mailboxes in an online application and collaboration service
US10185550B2 (en) 2016-09-28 2019-01-22 Mcafee, Inc. Device-driven auto-recovery using multiple recovery sources
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10846107B2 (en) * 2016-10-28 2020-11-24 Calgary Scientific Inc. Multi-window architecture and data communication for a remote access application session
CN108075922A (en) * 2016-11-14 2018-05-25 普天信息技术有限公司 A kind of telecommunication network management system
KR20180060191A (en) * 2016-11-28 2018-06-07 주식회사 마인케이 Method for sharing objectless model defined declaratively without platform constraints and apparatus thereof
KR20190100177A (en) * 2016-12-30 2019-08-28 인텔 코포레이션 Naming and Blockchain Records for the Internet of Things
US10785288B2 (en) * 2017-02-22 2020-09-22 International Business Machines Corporation Deferential support of request driven cloud services
US10922661B2 (en) 2017-03-27 2021-02-16 Microsoft Technology Licensing, Llc Controlling a computing system to generate a pre-accept cache for calendar sharing
US11010361B1 (en) * 2017-03-30 2021-05-18 Amazon Technologies, Inc. Executing code associated with objects in a hierarchial data structure
US10306433B1 (en) * 2017-05-01 2019-05-28 Sprint Communications Company L.P. Mobile phone differentiated user set-up
US10817492B2 (en) * 2017-05-05 2020-10-27 Servicenow, Inc. Application extension
CN107391128B (en) * 2017-07-07 2020-07-28 北京小米移动软件有限公司 Method and device for monitoring virtual file object model vdom
JP6954023B2 (en) * 2017-11-13 2021-10-27 トヨタ自動車株式会社 Sharing system, sharing method and management server
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
WO2019168715A1 (en) * 2018-03-01 2019-09-06 Huawei Technologies Co. Ltd. Event to serverless function workflow instance mapping mechanism
CN109739717B (en) * 2018-04-12 2021-01-26 京东方科技集团股份有限公司 Page data acquisition method and device and server
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US10817351B1 (en) 2018-07-13 2020-10-27 Blend Labs, Inc. Method and apparatus for hybrid service event
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
CN109194639B (en) * 2018-08-24 2021-10-08 北京小米移动软件有限公司 Message receiving and processing method, device, terminal and readable storage medium
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US10803087B2 (en) * 2018-10-19 2020-10-13 Oracle International Corporation Language interoperable runtime adaptable data collections
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US10809994B1 (en) * 2019-04-05 2020-10-20 Sap Se Declarative multi-artefact software installation
US10956140B2 (en) 2019-04-05 2021-03-23 Sap Se Software installation through an overlay file system
US11113249B2 (en) 2019-04-05 2021-09-07 Sap Se Multitenant application server using a union file system
US11232078B2 (en) 2019-04-05 2022-01-25 Sap Se Multitenancy using an overlay file system
US10942723B2 (en) 2019-04-05 2021-03-09 Sap Se Format for multi-artefact software packages
US10909160B2 (en) 2019-05-29 2021-02-02 TADA Cognitive Solutions, LLC Digital duplicate
EP3977260A4 (en) * 2019-05-29 2023-01-25 Tada Cognitive Solutions, LLC Digital duplicate
US11461293B2 (en) 2019-08-19 2022-10-04 TADA Cognitive Solutions, LLC Processes and systems for onboarding data for a digital duplicate
US11301573B2 (en) 2019-08-19 2022-04-12 TADA Cognitive Solutions, LLC Data security using semantic services
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US20220345371A1 (en) * 2019-06-21 2022-10-27 Snapt, Inc Control configuration for a plurality of endpoint devices
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
CN112230909B (en) * 2019-07-15 2023-05-23 腾讯科技(深圳)有限公司 Method, device, equipment and storage medium for binding data of applet
US11163613B2 (en) 2019-07-23 2021-11-02 International Business Machines Corporation Automated system integration
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11822522B2 (en) * 2020-01-31 2023-11-21 EMC IP Holding Company LLC Intelligent filesystem for container images
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11455588B2 (en) 2020-09-04 2022-09-27 TADA Cognitive Solutions, LLC Data validation and master network techniques
US11418588B2 (en) 2020-09-29 2022-08-16 EMC IP Holding Company LLC Intelligent peer-to-peer container filesystem
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11416454B2 (en) 2021-01-14 2022-08-16 Bank Of America Corporation Correction, synchronization, and migration of databases
US11379440B1 (en) * 2021-01-14 2022-07-05 Bank Of America Corporation Correction, synchronization, and migration of databases
US11228627B1 (en) * 2021-03-19 2022-01-18 Microsoft Technology Licensing, Llc Updating user-specific application instances based on collaborative object activity
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US20230014255A1 (en) * 2021-07-14 2023-01-19 Sap Se Bundling line item based events in an event-driven architecture
US11888708B1 (en) 2023-02-02 2024-01-30 Bank Of America Corporation System and method for auto-determining solutions for dynamic issues in a distributed network

Family Cites Families (316)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
JPH0619771A (en) * 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> File management system of shared file by different kinds of clients
US5392400A (en) * 1992-07-02 1995-02-21 International Business Machines Corporation Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
US5553242A (en) * 1993-11-03 1996-09-03 Wang Laboratories, Inc. Client/server connection sharing
US5778222A (en) 1994-06-27 1998-07-07 International Business Machines Corporation Method and system for managing access to objects
US6604103B1 (en) * 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
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
US5608903A (en) * 1994-12-15 1997-03-04 Novell, Inc. Method and apparatus for moving subtrees in a distributed network directory
US6901433B2 (en) 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
EP0839352B1 (en) * 1995-07-20 2002-10-16 Novell, Inc. Transaction log management in a disconnectable computer and network
CA2227432C (en) * 1995-07-20 2001-05-22 Novell, Inc. Transaction synchronization in a disconnectable computer and network
US5701458A (en) * 1995-09-20 1997-12-23 International Business Machines Corporation System and method for managing arbitrary subsets of access control lists in a computer network
US5661771A (en) * 1995-12-04 1997-08-26 General Electric Company Inner filter for a control rod drive
GB2308468A (en) * 1995-12-20 1997-06-25 Ibm Data processing systems and methods providing interoperability between data processing resources
US5832512A (en) * 1996-04-15 1998-11-03 Sun Microsystems, Inc. Apparatus and method for file number re-mapping for disconnected operations in a client-server network
US6199116B1 (en) * 1996-05-24 2001-03-06 Microsoft Corporation Method and system for managing data while sharing application programs
US5878225A (en) * 1996-06-03 1999-03-02 International Business Machines Corporation Dual communication services interface for distributed transaction processing
US7680879B2 (en) 1996-07-18 2010-03-16 Computer Associates Think, Inc. Method and apparatus for maintaining data integrity across distributed computer systems
US5878434A (en) 1996-07-18 1999-03-02 Novell, Inc Transaction clash management in a disconnectable computer and network
US20020059402A1 (en) 1996-11-15 2002-05-16 Charles E. Belanger Server-sided internet-based platform independent operating system and application suite
US6028602A (en) * 1997-05-30 2000-02-22 Telefonaktiebolaget Lm Ericsson Method for managing contents of a hierarchical data model
US5966512A (en) * 1997-06-05 1999-10-12 International Business Machines Corporation Groupware save operation
US7240094B2 (en) 1997-07-03 2007-07-03 Centra Software Inc. Method and system for synchronizing and serving multimedia in a distributed network
US6233600B1 (en) 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6256712B1 (en) * 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6275953B1 (en) 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
US6621505B1 (en) * 1997-09-30 2003-09-16 Journee Software Corp. Dynamic process-based enterprise computing system and method
US5926177A (en) 1997-10-17 1999-07-20 International Business Machines Corporation Providing multiple views in a model-view-controller architecture
US6219693B1 (en) * 1997-11-04 2001-04-17 Adaptec, Inc. File array storage architecture having file system distributed across a data processing platform
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
US6104392A (en) * 1997-11-13 2000-08-15 The Santa Cruz Operation, Inc. Method of displaying an application on a variety of client devices in a client/server network
US5987471A (en) 1997-11-13 1999-11-16 Novell, Inc. Sub-foldering system in a directory-service-based launcher
JP3617997B2 (en) 1997-11-14 2005-02-09 三菱電機株式会社 Data update method
US6553368B2 (en) 1998-03-03 2003-04-22 Sun Microsystems, Inc. Network directory access mechanism
US6226650B1 (en) * 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US6341291B1 (en) * 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6335741B1 (en) 1999-01-06 2002-01-01 International Business Machines Corporation Apparatus and method for user indication of model state in a model view controller
US6922708B1 (en) 1999-02-18 2005-07-26 Oracle International Corporation File system that supports transactions
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
US6341314B1 (en) * 1999-03-30 2002-01-22 International Business Machines Corporation Web-based virtual computing machine
US6651096B1 (en) 1999-04-20 2003-11-18 Cisco Technology, Inc. Method and apparatus for organizing, storing and evaluating access control lists
US6681370B2 (en) 1999-05-19 2004-01-20 Microsoft Corporation HTML/XML tree synchronization
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US7181438B1 (en) 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US6523027B1 (en) 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US6633878B1 (en) * 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6549916B1 (en) * 1999-08-05 2003-04-15 Oracle Corporation Event notification system tied to a file system
US6223345B1 (en) * 1999-08-30 2001-04-24 J.D. Edwards World Source Company System and method for building client and server application packages
US6526413B2 (en) 1999-09-28 2003-02-25 Microsoft Corporation Architecture for a hierarchical folder structure in hand-held computers
US6388853B1 (en) 1999-09-28 2002-05-14 Power Integrations, Inc. Method and apparatus providing final test and trimming for a power supply controller
JP4237354B2 (en) 1999-09-29 2009-03-11 株式会社東芝 Transaction processing method and transaction processing system
US6389420B1 (en) * 1999-09-30 2002-05-14 Emc Corporation File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration
US6968539B1 (en) * 1999-09-30 2005-11-22 International Business Machines Corporation Methods and apparatus for a web application processing system
US7685252B1 (en) 1999-10-12 2010-03-23 International Business Machines Corporation Methods and systems for multi-modal browsing and implementation of a conversational markup language
US7680819B1 (en) * 1999-11-12 2010-03-16 Novell, Inc. Managing digital identity information
JP3594231B2 (en) 1999-11-30 2004-11-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Information control system, information processing support server, information processing terminal, information processing method, and storage medium
US6721727B2 (en) 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US7124356B1 (en) * 1999-12-03 2006-10-17 Koninklijke Philips Electronics N.V. Methods for initiating activity in intelligent devices connected to an in home digital network using extensible markup language (XML) for information exchange and systems therefor
US6603476B1 (en) * 1999-12-17 2003-08-05 International Business Machines Corporation Method, system and program for topographically aware operating system
US6772413B2 (en) 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator
US7590644B2 (en) 1999-12-21 2009-09-15 International Business Machine Corporation Method and apparatus of streaming data transformation using code generator and translator
US8255809B2 (en) 1999-12-23 2012-08-28 International Business Machines Corporation Webtop: multiple applet delivery within a fixed-sized viewing space
KR100341395B1 (en) 1999-12-27 2002-06-22 오길록 Collaborative group editor system using JAVA specific property on internet and method thereof
US6901403B1 (en) 2000-03-02 2005-05-31 Quovadx, Inc. XML presentation of general-purpose data sources
AU2001253857A1 (en) 2000-03-14 2001-09-24 Buzzpad, Inc. Method and apparatus for forming linked multi-user groups of shared software applications
US7418439B2 (en) 2000-03-17 2008-08-26 Twin Peaks Software, Inc. Mirror file system
US6856993B1 (en) 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US20010039548A1 (en) 2000-04-27 2001-11-08 Yoshitake Shinkai File replication system, replication control method, and storage medium
US7987217B2 (en) 2000-05-12 2011-07-26 Oracle International Corporation Transaction-aware caching for document metadata
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
DE10026478A1 (en) 2000-05-27 2001-12-20 Abb Patent Gmbh Generating method for application specific input files, involves preparing application specific files by canon-like transformation from generated object descriptions in XML representation
US6941510B1 (en) 2000-06-06 2005-09-06 Groove Networks, Inc. Method and apparatus for efficient management of XML documents
US20020156702A1 (en) * 2000-06-23 2002-10-24 Benjamin Kane System and method for producing, publishing, managing and interacting with e-content on multiple platforms
US6711593B1 (en) 2000-06-26 2004-03-23 Camstar Systems, Inc. System and method for live update of a manufacturing system
AU2001275874A1 (en) 2000-07-07 2002-01-21 Consilient, Inc. Method and apparatus for providing process-container platforms
US6952716B1 (en) * 2000-07-12 2005-10-04 Treehouse Solutions, Inc. Method and system for presenting data over a network based on network user choices and collecting real-time data related to said choices
AU2000260103A1 (en) 2000-08-02 2002-02-13 Philipp Kutter Xml-robot
CA2424713C (en) * 2000-08-21 2007-12-04 Thoughtslinger Corporation Simultaneous multi-user document editing system
TW512526B (en) * 2000-09-07 2002-12-01 Sanyo Electric Co Semiconductor integrated circuit device and manufacturing method thereof
US7873649B2 (en) 2000-09-07 2011-01-18 Oracle International Corporation Method and mechanism for identifying transaction on a row of data
US7958185B2 (en) 2000-09-18 2011-06-07 Bentley Systems, Inc. Spatial data enabled engineering, construction, and operations computer-aided design (CAD) project system, method and computer program product
US6571259B1 (en) * 2000-09-26 2003-05-27 Emc Corporation Preallocation of file system cache blocks in a data storage system
US6862595B1 (en) 2000-10-02 2005-03-01 International Business Machines Corporation Method and apparatus for implementing a shared message queue using a list structure
US6996800B2 (en) * 2000-12-04 2006-02-07 International Business Machines Corporation MVC (model-view-controller) based multi-modal authoring tool and development environment
US6925631B2 (en) 2000-12-08 2005-08-02 Hewlett-Packard Development Company, L.P. Method, computer system and computer program product for processing extensible markup language streams
WO2002054264A1 (en) 2000-12-29 2002-07-11 Webex Communications, Inc. Distributed network system architecture for collaborative computing
US7634726B2 (en) * 2001-01-05 2009-12-15 International Business Machines Corporation Technique for automated e-business services
US20030189593A1 (en) 2001-01-05 2003-10-09 Yarvin Curtis G. Method and apparatus for dynamically updating a markup language based user interface
US7546298B2 (en) 2001-01-09 2009-06-09 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
WO2002057943A1 (en) 2001-01-18 2002-07-25 Yahoo! Inc. Method and system for managing digital content, including streaming media
US7275070B2 (en) 2001-01-23 2007-09-25 Conformia Software, Inc. System and method for managing the development and manufacturing of a pharmaceutical drug
US6732109B2 (en) 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
GB2377518B (en) 2001-02-12 2003-10-22 Altio Ltd Client software enabling a client to run a network based application
US7031989B2 (en) 2001-02-26 2006-04-18 International Business Machines Corporation Dynamic seamless reconfiguration of executing parallel software
US6804677B2 (en) 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
US20030041076A1 (en) * 2001-03-14 2003-02-27 Lucovsky Mark H. Schema-based services for identity-based access to calendar data
US7246104B2 (en) 2001-03-21 2007-07-17 Nokia Corporation Method and apparatus for information delivery with archive containing metadata in predetermined language and semantics
WO2002080457A1 (en) * 2001-03-29 2002-10-10 Sphere Software Corporation Layering enterprise application services using semantic firewalls
US20030088536A1 (en) 2001-04-09 2003-05-08 Afshin Behnia Platform within an organization for providing knowledge management and decision support services
US7499948B2 (en) 2001-04-16 2009-03-03 Bea Systems, Inc. System and method for web-based personalization and ecommerce management
US7359920B1 (en) 2001-04-18 2008-04-15 Intellisync Corporation Communication protocol for synchronization of personal information management databases
US6968346B2 (en) * 2001-04-23 2005-11-22 International Business Machines Corporation XML-based system and method for collaborative web-based design and verification of system-on-a-chip
WO2002097616A1 (en) * 2001-05-22 2002-12-05 Nanyang University Collaborative virtual enivonment system and method
WO2003003239A1 (en) * 2001-06-28 2003-01-09 Lastone. Co., Ltd. Web os and web desktop
US7203866B2 (en) * 2001-07-05 2007-04-10 At & T Corp. Method and apparatus for a programming language having fully undoable, timed reactive instructions
US6920461B2 (en) 2001-07-10 2005-07-19 Microsoft Corp. Application program interface for network software platform
US7176931B2 (en) * 2001-08-13 2007-02-13 International Business Machines Corporation Modifying hyperlink display characteristics
US7254610B1 (en) 2001-09-19 2007-08-07 Cisco Technology, Inc. Delivery of services to a network enabled telephony device based on transfer of selected model view controller objects to reachable network nodes
US7275096B2 (en) * 2001-09-20 2007-09-25 Telelogic North America Inc. Computerized system and method for web enabling and/or web management of embedded applications
US20030069881A1 (en) * 2001-10-03 2003-04-10 Nokia Corporation Apparatus and method for dynamic partitioning of structured documents
US6874001B2 (en) * 2001-10-05 2005-03-29 International Business Machines Corporation Method of maintaining data consistency in a loose transaction model
US20030084019A1 (en) 2001-10-30 2003-05-01 General Electric Company Process for lifetime tracking of serialized parts
US6920469B2 (en) 2001-11-13 2005-07-19 Tadpole Technology Plc Unique ID management in disconnected database replication
EP1459175A4 (en) 2001-11-28 2008-10-22 Ibm Method and apparatus for creating software objects
WO2003050674A1 (en) 2001-12-07 2003-06-19 Dbase, Inc. Drag-and-drop dynamic distributed object model
JP4163870B2 (en) * 2001-12-28 2008-10-08 富士通株式会社 Structured document converter
US20030131144A1 (en) 2002-01-10 2003-07-10 Ncr Corporation Data wedge
JP4490026B2 (en) 2002-01-28 2010-06-23 日立オムロンターミナルソリューションズ株式会社 Customizable information processing device
IES20030062A2 (en) 2002-02-04 2003-08-06 Mobileaware Technologies Ltd Document transformation
WO2003067787A2 (en) * 2002-02-08 2003-08-14 I/O Integrity, Inc. Redirecting local disk traffic to network attached storage
CA2371646A1 (en) 2002-02-13 2003-08-13 Ibm Canada Limited-Ibm Canada Limitee Configuration model for configuring an adapter software component to selectively access software objects and object editor using instance of same
US7962925B2 (en) * 2002-02-22 2011-06-14 Oracle International Corporation System and method for XML data binding
US7386835B1 (en) 2002-03-22 2008-06-10 Emc Corporation Technique for graphical user interface modification
US7080102B2 (en) * 2002-03-25 2006-07-18 Emc Corporation Method and system for migrating data while maintaining hard links
US6938042B2 (en) * 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
US7725590B2 (en) 2002-04-19 2010-05-25 Computer Associates Think, Inc. Web services broker
US7532340B2 (en) 2002-04-19 2009-05-12 Toshiba Tec Kabushiki Kaisha Document management system rule-based automation
US8407326B2 (en) * 2002-04-23 2013-03-26 International Business Machines Corporation Anchoring method for computing an XPath expression
DE10218905B4 (en) * 2002-04-26 2016-03-17 Intelligent Views Gmbh Method and data structure for access control in knowledge networks
US7519976B2 (en) 2002-05-01 2009-04-14 Bea Systems, Inc. Collaborative business plug-in framework
US7627631B2 (en) * 2002-05-02 2009-12-01 Bea Systems, Inc. Systems and methods for collaborative business plug-ins
AU2003239385A1 (en) * 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
US20030217191A1 (en) 2002-05-20 2003-11-20 Yang Gao System and method for converting the UI logic of a windows software application to run within a web browser
US7386797B1 (en) 2002-05-22 2008-06-10 Oracle Corporation Framework to model and execute business processes within a collaborative environment
US7490167B2 (en) * 2002-05-22 2009-02-10 Sony Corporation System and method for platform and language-independent development and delivery of page-based content
US7640300B2 (en) 2002-06-10 2009-12-29 Microsoft Corporation Presence and notification system for maintaining and communicating information
JP4382328B2 (en) * 2002-06-11 2009-12-09 株式会社日立製作所 Secure storage system
US20060184617A1 (en) 2005-02-11 2006-08-17 Nicholas Frank C Method and system for the creating, managing, and delivery of feed formatted content
US7275087B2 (en) 2002-06-19 2007-09-25 Microsoft Corporation System and method providing API interface between XML and SQL while interacting with a managed object environment
US7162485B2 (en) 2002-06-19 2007-01-09 Georg Gottlob Efficient processing of XPath queries
US7458018B2 (en) 2002-06-27 2008-11-25 Microsoft Corporation System and method for obtaining and using namespace related information for opening XML documents
EP1376370B1 (en) 2002-06-28 2017-06-14 Oracle America, Inc. Mechanism for starvation avoidance while maintaining cache consistency in computer systems
US7203706B2 (en) 2002-08-01 2007-04-10 Oracle International Corporation Buffered message queue architecture for database management systems with memory optimizations and “zero copy” buffered message queue
US7721202B2 (en) 2002-08-16 2010-05-18 Open Invention Network, Llc XML streaming transformer
WO2004019160A2 (en) * 2002-08-23 2004-03-04 Jway Group, Inc. Extensible user interface (xui) framework and development environment
US8019849B1 (en) 2002-09-13 2011-09-13 Symantec Operating Corporation Server-side storage area network management interface
US7558847B2 (en) 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US20040090458A1 (en) 2002-11-12 2004-05-13 Yu John Chung Wah Method and apparatus for previewing GUI design and providing screen-to-source association
AU2003302050A1 (en) * 2002-11-15 2004-06-15 Creo Inc. Methods and systems for sharing data
US7191186B1 (en) 2002-11-27 2007-03-13 Microsoft Corporation Method and computer-readable medium for importing and exporting hierarchically structured data
JP2004192053A (en) 2002-12-06 2004-07-08 Bells System Kk Client terminal program for reporting update information, and update information report system to client terminal
US20040111396A1 (en) 2002-12-06 2004-06-10 Eldar Musayev Querying against a hierarchical structure such as an extensible markup language document
US8332464B2 (en) 2002-12-13 2012-12-11 Anxebusiness Corp. System and method for remote network access
US7644361B2 (en) 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources
US7774831B2 (en) 2002-12-24 2010-08-10 International Business Machines Corporation Methods and apparatus for processing markup language messages in a network
US7131116B1 (en) 2002-12-30 2006-10-31 Oracle International Corporation Transformation of electronic messages to an extensible data format
US7707563B2 (en) * 2003-01-10 2010-04-27 Nexaweb Technologies Inc System and method for network-based computing
US7376733B2 (en) * 2003-02-03 2008-05-20 Hewlett-Packard Development Company, L.P. Method and apparatus and program for scheduling and executing events in real time over a network
US20040158586A1 (en) * 2003-02-10 2004-08-12 Mingtar Tsai Method and system of using shared file for data collaboration
US20040176968A1 (en) 2003-03-07 2004-09-09 Microsoft Corporation Systems and methods for dynamically configuring business processes
US20040181748A1 (en) * 2003-03-10 2004-09-16 International Business Machines Corporation Thin client framework deployment of spreadsheet applications in a web browser based environment
JP2004280283A (en) 2003-03-13 2004-10-07 Hitachi Ltd Distributed file system, distributed file system server, and access method to distributed file system
US20040187140A1 (en) 2003-03-21 2004-09-23 Werner Aigner Application framework
US7519969B2 (en) 2003-05-17 2009-04-14 Microsoft Corporation System and method for controlling user interface properties with data
US20040243921A1 (en) 2003-05-30 2004-12-02 Carr Steven Paul Methods and systems for synchronizing document elements
US7278109B2 (en) 2003-06-03 2007-10-02 International Business Machines Corporation System and method for dynamic uploading of user interface generation logic
US7194733B2 (en) 2003-06-11 2007-03-20 Microsoft Corporation Transformation of an asynchronous transactional messaging language into a web services compatible language
US20040260576A1 (en) 2003-06-20 2004-12-23 Dongwen Wang Guideline execution task ontology (GETO)
US7383255B2 (en) 2003-06-23 2008-06-03 Microsoft Corporation Common query runtime system and application programming interface
US7162473B2 (en) 2003-06-26 2007-01-09 Microsoft Corporation Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users
US7970936B2 (en) 2003-06-26 2011-06-28 International Business Machines Corporation In a world wide web communications network simplifying the uniform resource locators (URLS) displayed in association with received web documents
CA2434644A1 (en) * 2003-06-30 2004-12-30 Archidata Inc. System for the certification of plans and specifications produced by construction professionals and clients
FI117068B (en) 2003-07-04 2006-05-31 Medicel Oy Information management system for biochemical information
US7873668B2 (en) 2003-08-15 2011-01-18 Laszlo Systems, Inc. Application data binding
US7668935B2 (en) 2003-08-29 2010-02-23 Kabushiki Kaisha Toshiba Computer system and method for service load distributing
US20080140705A1 (en) 2003-10-01 2008-06-12 Wenqiang Luo Method of Updating a Data Source from Transformed Data
US20050091340A1 (en) 2003-10-01 2005-04-28 International Business Machines Corporation Processing interactive content offline
US7467190B2 (en) * 2003-10-06 2008-12-16 Hitachi, Ltd. Method and apparatus for alert distribution and archive sharing
US7904882B2 (en) * 2003-10-16 2011-03-08 Salesforce.Com, Inc. Managing virtual business instances within a computer network
US7231397B2 (en) 2003-10-24 2007-06-12 Microsoft Corporation Method and system for transacted file operations over a network
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US7567987B2 (en) 2003-10-24 2009-07-28 Microsoft Corporation File sharing in P2P group shared spaces
US7607136B2 (en) 2003-10-28 2009-10-20 Hewlett-Packard Development Company, L.P. Method and apparatus for interfacing with a distributed computing service
US20050114487A1 (en) 2003-11-12 2005-05-26 Jin Peng Notification framework and method of distributing notification
JP4273934B2 (en) 2003-11-13 2009-06-03 株式会社日立製作所 File system
US7584462B2 (en) * 2003-11-24 2009-09-01 Laszlo Systems, Inc. System for optimizing application start-up
TW200518146A (en) 2003-11-26 2005-06-01 Soltek Comp Inc Auxiliary push-button of magnetic (optical) disk drive
US7373451B2 (en) 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
US7454496B2 (en) 2003-12-10 2008-11-18 International Business Machines Corporation Method for monitoring data resources of a data processing network
KR100521742B1 (en) 2003-12-17 2005-10-17 한국전자통신연구원 Xml database duplicating apparatus for copying xml document to remote server without loss of structure and attribute information of xml document and method therefor
US7272782B2 (en) 2003-12-19 2007-09-18 Backweb Technologies, Inc. System and method for providing offline web application, page, and form access in a networked environment
US7487136B2 (en) 2004-01-06 2009-02-03 Sharp Laboratories Of America Intelligent discovery of shares
US7614052B2 (en) * 2004-01-09 2009-11-03 Nexaweb Technologies Inc. System and method for developing and deploying computer applications over a network
US7873663B2 (en) * 2004-01-13 2011-01-18 International Business Machines Corporation Methods and apparatus for converting a representation of XML and other markup language data to a data structure format
US20050165881A1 (en) 2004-01-23 2005-07-28 Pipelinefx, L.L.C. Event-driven queuing system and method
US7383308B1 (en) 2004-02-11 2008-06-03 Aol Llc, A Delaware Limited Liability Company Buddy list-based sharing of electronic content
US20050188350A1 (en) 2004-02-20 2005-08-25 Microsoft Corporation Data binding
US7577938B2 (en) 2004-02-20 2009-08-18 Microsoft Corporation Data association
US7240054B2 (en) 2004-02-27 2007-07-03 International Business Machines Corporation Techniques to preserve data constraints and referential integrity in asynchronous transactional replication of relational tables
JP2005250820A (en) 2004-03-04 2005-09-15 Hitachi Ltd Xml document classification method in storage system
US20050222996A1 (en) * 2004-03-30 2005-10-06 Oracle International Corporation Managing event-condition-action rules in a database system
US7620893B2 (en) 2004-03-31 2009-11-17 Sap Ag Aiding a user in using a software application
BRPI0401465A (en) 2004-04-20 2006-02-21 Embria Informatica Ltda system for managing interactions between users and software applications in a web environment
US7877327B2 (en) 2004-05-03 2011-01-25 Trintuition Llc Apparatus and method for creating and using documents in a distributed computing network
US8108429B2 (en) * 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
EP1594049A1 (en) 2004-05-07 2005-11-09 Hewlett-Packard Development Company, L.P. Web application framework
KR100559251B1 (en) 2004-05-12 2006-03-15 한국생산기술연구원 Integrated service method of distribution software for robot development based on open internet network
US7464386B2 (en) * 2004-05-17 2008-12-09 Microsoft Corporation Data controls architecture
US20060031256A1 (en) 2004-05-20 2006-02-09 Bea Systems, Inc. Template language for mobile client
US7650432B2 (en) 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
US20050262185A1 (en) 2004-05-20 2005-11-24 Bea Systems, Inc. Systems and methods for a collaboration messaging framework
US20050289531A1 (en) * 2004-06-08 2005-12-29 Daniel Illowsky Device interoperability tool set and method for processing interoperability application specifications into interoperable application packages
US20060069774A1 (en) 2004-06-17 2006-03-30 International Business Machine Corporation Method and apparatus for managing data center using Web services
JP4069905B2 (en) 2004-06-28 2008-04-02 コニカミノルタビジネステクノロジーズ株式会社 Shared file management system and server
US9098476B2 (en) 2004-06-29 2015-08-04 Microsoft Technology Licensing, Llc Method and system for mapping between structured subjects and observers
US7370273B2 (en) 2004-06-30 2008-05-06 International Business Machines Corporation System and method for creating dynamic folder hierarchies
US9083765B2 (en) 2004-07-02 2015-07-14 Oracle International Corporation Systems and methods of offline processing
US7584422B2 (en) * 2004-07-12 2009-09-01 Informatica Corporation System and method for data format transformation
EP1789894A4 (en) 2004-08-02 2007-09-19 Justsystems Corp Document processing and management approach to making changes to a document and its representation
US20060053195A1 (en) 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20060053194A1 (en) 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US7836097B2 (en) * 2004-09-29 2010-11-16 The Cleveland Clinic Foundation Extensible database system and method
US7730129B2 (en) * 2004-10-20 2010-06-01 Inbit, Inc. Collaborative communication platforms
US8290977B2 (en) 2004-10-21 2012-10-16 Sybase Inc. Database system providing methodology for execution of functions in XML queries
US8478616B2 (en) 2004-10-29 2013-07-02 FrontRange Solutions USA Inc. Business application development and execution environment
US20060101064A1 (en) 2004-11-08 2006-05-11 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US7571425B2 (en) 2004-11-18 2009-08-04 Hewlett-Packard Development Company, L.P. Automated binding for object oriented programming user interface components
US7574692B2 (en) * 2004-11-19 2009-08-11 Adrian Herscu Method for building component-software for execution in a standards-compliant programming environment
US8429192B2 (en) * 2004-12-02 2013-04-23 International Business Machines Corporation System and method for supporting a plurality of access control list types for a file system in an operating system
US7441187B2 (en) 2004-12-16 2008-10-21 International Business Machines Corporation Web template processing utilizing dynamic rules defined by data structure language
US7716260B2 (en) 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US7437376B2 (en) 2004-12-20 2008-10-14 Microsoft Corporation Scalable object model
US20060150188A1 (en) * 2004-12-21 2006-07-06 Manuel Roman Method and apparatus for supporting soft real-time behavior
FI20041638A0 (en) * 2004-12-21 2004-12-21 Nokia Corp Content Sharing in a Communication System
US7945590B2 (en) 2005-01-06 2011-05-17 Microsoft Corporation Programmability for binding data
WO2006077481A1 (en) 2005-01-19 2006-07-27 Truecontext Corporation Policy-driven mobile forms applications
US7660809B2 (en) * 2005-01-31 2010-02-09 Microsoft Corporation Using a file server as a central shared database
US7567968B2 (en) 2005-01-31 2009-07-28 Microsoft Corporation Integration of a non-relational query language with a relational data store
US7752224B2 (en) 2005-02-25 2010-07-06 Microsoft Corporation Programmability for XML data store for documents
US7853961B2 (en) * 2005-02-28 2010-12-14 Microsoft Corporation Platform for data services across disparate application frameworks
US20060212842A1 (en) 2005-03-15 2006-09-21 Microsoft Corporation Rich data-bound application
NZ562583A (en) 2005-03-16 2009-09-25 Airscape Technology Pty Ltd Method for distributing computing between server and client
SG163519A1 (en) * 2005-03-21 2010-08-30 Dexterra Inc Data management for mobile data system
US8326877B2 (en) * 2005-05-04 2012-12-04 Microsoft Corporation Region-based security
AU2006243965A1 (en) 2005-05-10 2006-11-16 Brent J. Angeline Internet operating system
US20060265377A1 (en) 2005-05-19 2006-11-23 Trimergent Personalizable information networks
CA2508091A1 (en) 2005-05-20 2006-11-20 Eric Richer System and method of data brokering
US7617500B2 (en) 2005-05-20 2009-11-10 International Business Machines Corporation Generic framework for integrating components with different interfaces in an enterprise application integration environment
US9104773B2 (en) 2005-06-21 2015-08-11 Microsoft Technology Licensing, Llc Finding and consuming web subscriptions in a web browser
US7475138B2 (en) 2005-06-23 2009-01-06 International Business Machines Corporation Access control list checking
US7363628B2 (en) 2005-06-27 2008-04-22 Microsoft Corporation Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host
US20070006065A1 (en) 2005-07-01 2007-01-04 Microsoft Corporation Conditional event timing for interactive multimedia presentations
US7925973B2 (en) * 2005-08-12 2011-04-12 Brightcove, Inc. Distribution of content
US7646771B2 (en) * 2005-08-17 2010-01-12 Cisco Technology, Inc. Compilation of access control lists
US7653617B2 (en) 2005-08-29 2010-01-26 Google Inc. Mobile sitemaps
US7568035B2 (en) * 2005-08-30 2009-07-28 Microsoft Corporation Command binding determination and implementation
US20070050705A1 (en) 2005-08-30 2007-03-01 Erxiang Liu Method of xml element level comparison and assertion utilizing an application-specific parser
CN100568235C (en) * 2005-09-09 2009-12-09 国际商业机器公司 Be used to carry out instant messaging client computer and the method that project is shared
US7831918B2 (en) 2005-09-12 2010-11-09 Microsoft Corporation Content based user interface design
US7606921B2 (en) 2005-09-21 2009-10-20 Sap Ag Protocol lifecycle
US7412534B2 (en) 2005-09-30 2008-08-12 Yahoo! Inc. Subscription control panel
US20070078943A1 (en) 2005-10-04 2007-04-05 Kenneth Daniels Message based application communication system
US9367642B2 (en) 2005-10-07 2016-06-14 Oracle International Corporation Flexible storage of XML collections within an object-relational database
US20070089048A1 (en) 2005-10-14 2007-04-19 Lacey Jon-David K Displaying using graphics display language and native UI objects
US20070100830A1 (en) 2005-10-20 2007-05-03 Ganesha Beedubail Method and apparatus for access control list (ACL) binding in a data processing system
US20070100960A1 (en) * 2005-10-28 2007-05-03 Yahoo! Inc. Managing content for RSS alerts over a network
US8176081B2 (en) 2005-11-18 2012-05-08 International Business Machines Corporation Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API)
US8099716B2 (en) 2005-11-28 2012-01-17 Ubiquity Software Corporation Limited Service structured application development architecture
EP1960873B1 (en) 2005-12-17 2013-02-27 Intel Corporation Installing and executing shared applications in shared folders
US7533111B2 (en) 2005-12-30 2009-05-12 Microsoft Corporation Using soap messages for inverse query expressions
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
CN101008970A (en) * 2006-01-24 2007-08-01 鸿富锦精密工业(深圳)有限公司 Authority management and control method and system thereof
US7913234B2 (en) 2006-02-13 2011-03-22 Research In Motion Limited Execution of textually-defined instructions at a wireless communication device
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US20070250927A1 (en) 2006-04-21 2007-10-25 Wintutis, Inc. Application protection
US7853573B2 (en) * 2006-05-03 2010-12-14 Oracle International Corporation Efficient replication of XML data in a relational database management system
US7675857B1 (en) * 2006-05-03 2010-03-09 Google Inc. Method and apparatus to avoid network congestion
US20070266111A1 (en) * 2006-05-12 2007-11-15 Schubert Gunter H Web-internet operating system-the next dimension of internet logic
US7840901B2 (en) 2006-05-16 2010-11-23 Research In Motion Limited System and method of skinning themes
US7539672B2 (en) 2006-05-26 2009-05-26 International Business Machines Corporation Apparatus, system, and method for direct retrieval of hierarchical data from SAP using dynamic queries
US7650390B2 (en) * 2006-06-01 2010-01-19 Roam Data Inc System and method for playing rich internet applications in remote computing devices
US7752212B2 (en) 2006-06-05 2010-07-06 International Business Machines Corporation Orthogonal Integration of de-serialization into an interpretive validating XML parser
US20070288853A1 (en) 2006-06-09 2007-12-13 Nextair Corporation Software, methods and apparatus facilitating presentation of a wireless communication device user interface with multi-language support
US8395652B1 (en) 2006-06-28 2013-03-12 Insors Integrated Communications Data network collaboration systems having a shared file
US20080027940A1 (en) * 2006-07-27 2008-01-31 Microsoft Corporation Automatic data classification of files in a repository
US7831707B2 (en) 2006-08-02 2010-11-09 Scenera Technologies, Llc Methods, systems, and computer program products for managing electronic subscriptions
WO2008017001A2 (en) 2006-08-02 2008-02-07 Moka5, Inc. Sharing live appliances
US7861213B2 (en) 2006-09-05 2010-12-28 Oracle International Corporation Mechanism for developing AJax applications using java swing framework and method for using the same
US20090066348A1 (en) 2006-09-06 2009-03-12 Young Shik Shin Apparatus and method for quantitative determination of target molecules
SG141289A1 (en) * 2006-09-29 2008-04-28 Wireless Intellect Labs Pte Lt An event update management system
US8601467B2 (en) * 2006-10-03 2013-12-03 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US8863083B2 (en) 2006-10-10 2014-10-14 Sap Ag Presenting user interfaces based on messages
US7599920B1 (en) * 2006-10-12 2009-10-06 Google Inc. System and method for enabling website owners to manage crawl rate in a website indexing system
US7882077B2 (en) 2006-10-17 2011-02-01 Commvault Systems, Inc. Method and system for offline indexing of content and classifying stored data
US7814234B2 (en) 2006-10-30 2010-10-12 Microsoft Corporation Offline execution of web based applications
US20100306773A1 (en) 2006-11-06 2010-12-02 Lee Mark M Instant on Platform
US20080120319A1 (en) 2006-11-21 2008-05-22 International Business Machines Corporation System and method for identifying computer users having files with common attributes
US7886270B2 (en) 2006-11-28 2011-02-08 International Business Machines Corporation Methods, systems, and computer program products for file version control management
US9244672B2 (en) * 2006-11-30 2016-01-26 Red Hat, Inc. Optimization utility for developing embedded systems
US8015581B2 (en) 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US7725489B2 (en) 2007-01-31 2010-05-25 Noryan Holding Corporation Node for providing a file service to a mobile terminal
US20080195622A1 (en) 2007-02-12 2008-08-14 Personeta Ltd. Service provisioning system
US7802128B2 (en) 2007-03-26 2010-09-21 Oracle International Corporation Method to avoid continuous application failovers in a cluster
US20080263141A1 (en) 2007-04-20 2008-10-23 Demesa Jesse Systems and Methods to Generate Web Server Files From Generic View Definitions
US20080301685A1 (en) 2007-05-31 2008-12-04 Novell, Inc. Identity-aware scheduler service
US8037484B2 (en) * 2007-07-03 2011-10-11 International Business Machines Corporation Building compound extensible AJAX applications
US8868499B2 (en) * 2007-08-15 2014-10-21 Salesforce.Com, Inc. Method and system for pushing data to subscribers in an on-demand service
US8321508B2 (en) 2007-09-25 2012-11-27 International Business Machines Corporation Controlling collaboration participation
US20090172715A1 (en) 2007-09-28 2009-07-02 Xcerion Ab Network operating system
US20090106052A1 (en) 2007-10-22 2009-04-23 Eytan Moldovan Computerized acquisition and compilation of vehicle accident information
US7917584B2 (en) 2007-10-22 2011-03-29 Xcerion Aktiebolag Gesture-based collaboration
US8108465B2 (en) * 2007-10-31 2012-01-31 Oracle America, Inc. Method and system for request processing
US20090172710A1 (en) * 2007-12-28 2009-07-02 Arman Toorians Method and system for enabling a mini program on a computing device to access an auxiliary system
US8126869B2 (en) * 2008-02-08 2012-02-28 Microsoft Corporation Automated client sitemap generation
US9003059B2 (en) 2008-03-31 2015-04-07 Microsoft Technology Licensing, Llc Running applications in an online or offline mode based on the availability of the connection to the remote web server
JP4640470B2 (en) * 2008-08-18 2011-03-02 ソニー株式会社 Image processing apparatus, image processing method, program, and imaging apparatus

Also Published As

Publication number Publication date
EP2206049A2 (en) 2010-07-14
US20090172702A1 (en) 2009-07-02
US20090172078A1 (en) 2009-07-02
US20090157628A1 (en) 2009-06-18
US8234315B2 (en) 2012-07-31
US20090171974A1 (en) 2009-07-02
WO2009043029A3 (en) 2009-07-23
US8280925B2 (en) 2012-10-02
US20090171993A1 (en) 2009-07-02
WO2009043037A3 (en) 2009-05-28
US20090157627A1 (en) 2009-06-18
US8156146B2 (en) 2012-04-10
US8688627B2 (en) 2014-04-01
US11838358B2 (en) 2023-12-05
EP2206050A2 (en) 2010-07-14
KR20100080822A (en) 2010-07-12
EP2206048A2 (en) 2010-07-14
KR20100080824A (en) 2010-07-12
US20090172086A1 (en) 2009-07-02
US8615531B2 (en) 2013-12-24
US8954526B2 (en) 2015-02-10
US8959123B2 (en) 2015-02-17
WO2009043037A2 (en) 2009-04-02
US20160028808A1 (en) 2016-01-28
WO2009043030A4 (en) 2009-07-30
US9344497B2 (en) 2016-05-17
US20090172569A1 (en) 2009-07-02
KR20100068473A (en) 2010-06-23
WO2009043035A3 (en) 2009-06-25
US20090172715A1 (en) 2009-07-02
WO2009043029A4 (en) 2009-09-17
US9071623B2 (en) 2015-06-30
US20090254610A1 (en) 2009-10-08
US8620863B2 (en) 2013-12-31
KR20100091165A (en) 2010-08-18
US8108426B2 (en) 2012-01-31
WO2009043029A2 (en) 2009-04-02
EP2206049A4 (en) 2013-11-13
US20090158142A1 (en) 2009-06-18
US20210258377A1 (en) 2021-08-19
EP2206050A4 (en) 2013-05-22
BRPI0817475A2 (en) 2017-05-16
WO2009043033A2 (en) 2009-04-02
US8099671B2 (en) 2012-01-17
WO2009043035A4 (en) 2009-08-27
WO2009043033A3 (en) 2009-07-23
US20090193410A1 (en) 2009-07-30
WO2009043030A3 (en) 2009-06-04
BRPI0818194A2 (en) 2018-07-24
WO2009043030A2 (en) 2009-04-02
BRPI0817473A2 (en) 2017-05-16
WO2009043037A4 (en) 2009-07-30
KR101525220B1 (en) 2015-06-10
US9621649B2 (en) 2017-04-11
US20090177734A1 (en) 2009-07-09
US8996459B2 (en) 2015-03-31
US8738567B2 (en) 2014-05-27
WO2009043035A2 (en) 2009-04-02
US20090175198A1 (en) 2009-07-09
KR20100080825A (en) 2010-07-12
BRPI0817528A2 (en) 2017-05-02
US20090192992A1 (en) 2009-07-30
US20090172568A1 (en) 2009-07-02
US8112460B2 (en) 2012-02-07
US8843942B2 (en) 2014-09-23
KR101501174B1 (en) 2015-03-19
US20090172085A1 (en) 2009-07-02
EP2206048A4 (en) 2013-04-10
US20090192969A1 (en) 2009-07-30
EP2206051A2 (en) 2010-07-14
US20090172087A1 (en) 2009-07-02
US20090164592A1 (en) 2009-06-25
US20090193440A1 (en) 2009-07-30
US8239511B2 (en) 2012-08-07

Similar Documents

Publication Publication Date Title
WO2009043033A4 (en) Network operating system
Lopes Language-Based Data Sharing in Web Applications

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880116332.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08833800

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20107009416

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 08833800

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: PI0817473

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20100326