The present invention generally relates to communication network. More specifically, the present invention relates to a web based communication system.
With the increasing popularity of using the Internet and World Wide Web (“the Web”) for the rapidly changing digital world, individuals as well as enterprises, exchange (or swap) large volumes of information through the Web. The demand for larger and faster information exchange has increasingly grown in recent years. For example, various business meetings and conferences are conducted over the Web with attendees scattered around the world. To enhance the communication between the meeting attendees, not only voice (and/or image) information is important, but also information exchange can be critical.
Fast, volume, and secure information exchange is important in enhancing the efficiency of a communication network. At Internet era, the web portals become a means for personal, group, or organizational communication. Therefore, an efficiency and cost effective method of creating and updating the web portal becomes critical to each business and individual.
Accordingly, there is a need in the art to provide a faster, more secure, volume information exchange over the Web.
The present invention relates to a method and apparatus for fast and secure information exchange over a web environment.
With the development of a centrally controlled distributed scalable virtual machine (CCDSVM) and the web-based computer user working (operating) environment (WCUWE), the problems mentioned in the previous section can easily be solved by introducing a “dynamic workspace” technology of this invention within the frameworks of the CCDSVM and the WCUWE.
With the dynamic workspace technology, one or more login users of a CCDSVM, each using a browser on a computing system from anywhere, can instantly perform tasks. For example, each user can post or un-post messages, files, folders, or other resources information on computing systems of the CCDSVM, with group based-model or non-group 1-to-1 model to one or more audiences (other users) on the network. This technology will also achieve larger scales of secure information exchange without size limitations and the installation of special software. Specially, this technology can improve the efficiency and cost effectiveness for updating the contents of existing web portals.
The implementation of this invention has provided users with a web-browser based system that is capable of securing exchanges of messages, files, folders, or other resources information including storage and network resources on computing systems crossing network domains without size limitations.
Additional features and benefits of the present invention will become apparent from the detailed description, figures, and claims set forth below.
The present invention will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the invention, which, however, should not be taken to limit the invention to the specific embodiments, but are for explanation and understanding only.
The resource information also can be the information of the hardware resources on the provisioned systems and the control system, such as one or more network devices of Ethernet or wireless cards, storage devices such as SCSI or RAID disk, memories, CPUs, and one or more user interface (input/output) devices such as a keyboard, a mouse, a monitor and displaying devices, and audio and video recording and/or playback devices and components including digital camera or video and audio encoding cards and there is no limits.
The resources also could be data resources on said computing systems such as one or more file systems built on one or more storage devices, one or more folders and various type of data files or application files on said each file systems; or one or more record files such as user account or user group profiles, or one or more message data, wherein said data file can be document file such as Word, or PDF, or Spreadsheet, or PowerPoint, or plain text file, or media data of streaming video or audio file including AVI, MPEG, MP3 or JPEG image file, and said application file is binary file, such as web application.
The resources can be kept in one or more information lists and to be stored in database on storage media of the control system. The database is organized as one or more lists of tables, where each of the lists contains a certain type of resources or a mixed type of resources. The storage media could be a system's internal storage such as memory or disk drive, for example.
The resource information of this invention can be encoded, displayed and operated as web folder tree in a web browser by using multi-layered item list (MLIL) in the memory of the control system. Each node of said MLIL binds with a corresponding operation menu, attributes of said resource and graphic image, where said attributes of said resource are resource's name, ID, size, location or address, time stamp, ownership, and so forth without limits. Each node of the MLIL can have its next layer of one or more sub-nodes representing another layer of one or more actual resources.
The resource MLIL can be encoded into a web page and be displayed in a user's web browser such that said user can interactively select each permitted resource node of the MLIL to perform desired tasks through said operation menu. The list of resources displayed as a web folder tree has been demonstrated in embodiments of the present invention such as depicted in
In one embodiment as illustrated in this figure, a section-3 is encoded with multiple files from a group common workspace, and actually posted from three private workspaces by three corresponding users of in the group-1. Also, only the actual owner of each file can from his/her displayed private workspace to un-post (withdraw) his/her previously posted file. For example, the “picture 1” was posted by user Y from his displayed private workspace, therefore, only user Y can be permitted to un-post this previously posted picture 1. Similarly, the displayed section-2 is encoded and displayed with multiple messages in the group common workspace, which are actually posted by multiple users through each user's displayed private workspaces. Besides, each message can be un-posted by the original user of the message from the original user's displayed private workspace.
The
Embodiments of the present invention are described herein in the context of a method, system and apparatus for providing a web based communications network with fast, volume, and secure information exchange. Those of ordinary skill in the art will realize that the following detailed description of the present invention is illustrative only and is not intended to be in any way of limiting. Other embodiments of the present invention will readily suggest themselves to such skilled persons having the benefit of this disclosure. Reference will now be made in detail to implementations of the present invention as illustrated in the accompanying drawings. The same reference indicators will be used throughout the drawings and the following detailed description to refer to the same or like parts.
In the interest of clarity, not all of the routine features of the implementations described herein are shown and described. It will, of course, be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions must be made in order to achieve the developer's specific goals, such as compliance with application and business-related constraints, and that these specific goals will vary from one implementation to another and from one developer to another. Moreover, it will be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of engineering for those of ordinary skill in the art having the benefit of this disclosure.
In accordance with the present invention, the components, process steps, and/or data structures described herein may be implemented using various combined types of operating systems, computing platforms, computer programs including various software modules, and/or general purpose machines. In addition, those of ordinary skill in the art will recognize that devices of a less general purpose nature, such as hardwired devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), or the like, may also be used without departing from the scope and spirit of the inventive concepts disclosed herein. Where a method comprising a series of process steps is implemented by a computer or a machine and those process steps can be stored as a series of instructions readable by the machine, they may be stored on a tangible medium such as a computer memory device (e.g., ROM (Read Only Memory), PROM (Programmable Read Only Memory), EEPROM (Electrically Eraseable Programmable Read Only Memory), FLASH Memory, Jump Drive, and the like), magnetic storage medium (e.g., tape, magnetic disk drive, and the like), optical storage medium (e.g., CD-ROM, DVD-ROM, paper card and paper tape, and the like) and other known types of program memory.
Those of ordinary skill in the art will realize that the following detailed description of the present invention is illustrative only and is not intended to be in any way of limiting. Other embodiments of the present invention will readily suggest themselves to such skilled persons having the benefit of this disclosure. It will be apparent to one skilled in the art that these specific details may not be required to practice to the present invention. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present invention. In the following description of the embodiments, substantially the same parts are denoted by the same reference numerals.
While particular embodiments of the present invention have been shown and described, it will now be apparent to those skilled in the art having the benefit of this disclosure that many more modifications than mentioned above are possible without departing from the inventive concepts disclosed herein. Therefore, the appended claims are intended to encompass within their scope, all such modifications are within the spirit and scope of this invention.
The present invention can be implemented by a web based system operated in a network infrastructure, such as a central controlled distributed scalable virtual machine (“CCDSVM”).
The network infrastructure (“network”) includes all necessary hardware and software resources that facilitate various users from different geographic locations to communicate through the Internet, Intranet, and/or LAN. The hardware of the network includes network connection media, wireless media, circuitry components, and communication equipments. The network connection media includes various cables such as Ethernet and/or optical fiber. The wireless media is capable of establishing wireless communication links through air. The circuitry components include processor, data bus, memory devices, and/or circuit board. The communication equipments, such as switches, routers, gateways, and/or adapters, are used to provide a communications network. It should be noted that there are other possible elements of communication equipment that may be needed to form a communication link, but they are not necessary to understand the present invention.
The network of the CCDSVM provides scalable bandwidth and computational powers for the CCDSVM. In one embodiment, one or more switches and routers can be added and removed for the network of the CCDSVM for dynamically connecting and adding or removing one or more provisioned system units for the service pools/groups of the CCDSVM in response to the service and bandwidth and capacity requirements for providing services to meet the demand from more users on the client systems.
The software infrastructure includes Internet Protocol (“IP”) addresses and system name identification software such as Domain Name Server (“DNS”), firewall software, IP gateway set-up software, IP broadcast, and so forth without limit. The communication protocols over the network could be IP-based standard or non-standard proprietary protocols such as Hypertext Transfer Protocol (“HTTP/HTTPS”) over Transmission Control Protocol/Internet Protocol (“TCP/IP”) or Simple Object Access Protocol (“SOAP”) over TCP/IP. It should be further noted that some IP based protocols are proprietary protocols and some are non-IP based protocols.
A web-browser is an application program that allows a user access to information over the Web, such as Windows Internet Explorer (“IE”), Firefox, or Netscape, and/or Mozillar. A web browser could also be proprietary software, which uses web protocols such as HTTP, WAP, or SOAP for communication with web server over the network. The web browser can be implemented with any or a combination of suitable programming languages such as C, C++, Java, or XML. In another embodiment, the web browser can be replaced with another networked user interface tool/application, which can be implemented using non web based specialized protocols.
A web page, on the other hand, is displayable for resource information that is accessible through a web-browser 9. In present invention, the web pages are used for displaying the user interface part of the WCUWE for users from each user's web browser 9 performing interactive tasks. The web pages may be hosted by a web server via a web server system and can be transmitted (or retrieved) by a web-browser. The web-page can be implemented with any or a combination of suitable programming languages such as C, C++, Java, or HTML, XML, WML and so forth without limitation.
The provisioned systems 3, client systems 10, console systems 1, and control management system 2 are computing systems which could be a server system, such as database server, web server, email server, video server, file server, storage server such as NAS or SAN, or a security monitoring device with video and audio recording and playback devices, or a desktop or laptop system, handheld wireless devices such as PDA, wireless phone, and so forth without limit. The computing systems include hardware resources of electronic components or devices such as CPUs, storage devices, input/output and display components and memory controllers. The storage devices include internal memory such as read-only memory (“ROM”) and/or random-access memory (“RAM”). The storage devices may further include external storage devices such as magnetic disks or tapes, which include a redundant array of inexpensive disk drives (“RAID”), just bunch of disk drive (“JBOD”) and memory sticks. The associated storage controller can be Integrated Drive Electronics (“IDE”), Small Computer System Interface (“SCSI”), a Fiber optical controller, or a combination of above-mentioned devices without limitation.
The computing systems also include non-embedded or real-time embedded OS running, which could be Linux, or Windows, Unix, or a proprietary OS. It should be noted that the present invention may include multiple control systems at different layers in a system configuration topology, where each of the control systems is capable of communicating with each other through a network. The control systems at the middle layers play dual roles as both a control system and as a provisioned system in the system configuration topology.
A console system 1 is a computing system having a web browser or web console 9, where, the web browser 9 is used by privileged users for accessing the CCDSVM platform. The web browser 9, which could be on any system, permits a user to access information of the CCDSVM by following a web URL link in one embodiment. For example, a privileged user enters a URL of “https://69.107.28.123/stt/sttwebos” on a command line of the web browser 9 and once the link is established, the user can obtain information hosted by the web based computer user work/operation environment (“WCUWE”). The console system 1, in one embodiment, further includes software modules 13, wherein modules 13 may be used to facilitate communication between the console system 1 and the control management system 2.
To support a non-web based networked user interface, the console system 1 can have a specialized software module 13 using protocols other than mentioned web protocols. In another embodiment, if the control system 2 supports a non-web based network computer user work environment (“NCUWE”), a user from a program on user's native system, which can be-provided by the other software module 13 of the console system 1, can send a similar request to the control system 2 to indicate accessing a desired networked program of the NCUWE on the control system 2.
The control system 2, in one embodiment, is a server system, a desktop or a laptop system or even a wireless devices with respective memory and storage capabilities. The control system 2 includes a web server software 7 and console supporting software 6. The console supporting software 6 includes web server interface software modules 5 and control management software modules 4. The control management system 2 may also have a web-browser 9 used as a web-console 9 of the control system 2. The web server software 7 sends/receives data to/from the web-console 9 of the console system 1 or the client system 10 or the control system 2. The web server software 7 is configured to provide secure sockets layer (“SSL”) encryption to encrypt the data before its transmission to enhance the security. The web server software 7 could be commercially available software such as Apache™ from open source, or IIS from Microsoft or a proprietary software. The web server software modules 7 and the console support software modules 6 can be implemented by suitable or a combination of suitable programming languages such as C, C++, Java, JavaScript, HTML, or XML.
The console supporting software 6 communicates with service software modules 8 of each of the provisioned systems 3. The web server interface 5 of the console support software 6 is capable of providing special functions that are otherwise performed by web server 7. If no provisioned system 3 is coupled to the CCDSVM platform, the control management system 2, in one embodiment, is reconfigured to continue monitoring systems over the network while the CCDSVM platform is also reconfigured to as a single stand-alone system; as shown in
The provisioned system 3, in one embodiment, is a computing system, where the system may contain suitable operating system (“OS”). The provisioned systems 3 can be automatically provisioned by the control system 2 through a variation of the automatic system service pool construction protocol, which is a proprietary combined sequence steps of TCP/UDP/IP protocols as described in prior application filed on Aug. 12, 2002 and entitled “IP Based Distributed Virtual SAN” to form one or more service pools (system groups) based on group ID. Provision process, also known as the pooling process, is a method allowing the control system 2 to control one or more networked systems 3 by reconfiguring the network systems 3. For example, when a provisioned system 3 boots up via said communication protocol, the control system 2 detects and obtains provisioned system's name, IP address, and other system information, where the system information includes network information, service group ID, storage information, file system information and so forth without limits, and further stores the information into a provisioned system unit information lists in a database on the control system 2.
Each provisioned system 3 can be monitored, accessed, and/or operated by a user(s) through said web browser 9 after the provisioning process. The control system 2 also updates the status of a provisioned system 3 in a service pool in response to detect the shutdown or link down of the provisioned system and in response to admin staff's maintenance requests for removing the provisioned system from service pools.
In an alternative embodiment, a provisional system 3 is operated by users through client systems 10 or console system 1 via a control system 2 with proper authentication. Each provisioned system 3 contains service software modules 8, which is used to communicate with the control system 2, the console system 1 and the client system 10. For example, the service software modules 8 of a provisioned system 3 can communicate with the control management software 4 to carry out tasks for monitoring, accessing or managing resources of the provisioned system 3. The service software 8 can communicate with the web browser 9 of the client system 10 or the console system 1 or the control t system 2 to transfer data between them or to deliver service to them, or to communicate with another provisioned system 3 to send or receive data.
In one embodiment, the CCDSVM provides the service software modules 8 to include the functionalities of the console support software 6 and web server software 7 of the control system 2 to form the WCUWE of the provisioned system 3. Therefore, when a user login to the control system for access to the CCDSVM, the user also can access the permitted WCUWE of the provisioned system 3 via a displayed entry point of the user's private workspace in the user's web browser. Further, each provisioned system 3 is able to provide data and application services for one or more client systems 10 independent of other provisioned system 3 and without going through the control system 2 again.
In one embodiment, one or more spare provisioned systems 3 can be provided, where each spare system 3 is configured with identical service applications and data as one or more corresponding provisioned systems 3 configured, in each service pool, for providing fault handling. Once the control system 2 detecting a faulted provisioned system 3, it can immediately instruct a corresponding spare provisioned system 3 to provide the service replacement for the faulted provisioned system 3 to provide continued service for one or more clients 10. In addition, the using of spare system 3 has certain advantage, for example, one spare system 3 can serve one or more provisioned systems 3.
The service software modules 8 may include special software modules having compatible functionalities of the web server software 7 of the control system 2 and dedicate handling of HTTP/HTTPS protocol or other web protocols if there is need for web-based communication with clients 10 or with other provisioned systems 3 or with the control system 2. In another embodiment, the service software modules 8 can be implemented to communicate with non web browser based networked user interface by deploying specialized network protocols such as non-web based TCP/UDP/IP protocols. The service software modules 8 could include commercially available web server software 7 or proprietary software. The service software modules 8 could be implemented with any or a combination of suitable programming languages such as C, C++, Java, or JavaScript.
Net 11 and Net 12 are network infrastructures of the CCDSVM that are capable of providing communication links between the control management system 2, console systems 1, client systems 10, and/or the provisioned systems 3. The Net 11 and Net 12 comprises one or more switches and/or routers for providing scalable network, where the switches and routers can be added or removed along with adding or removing one or more provisioned systems 3 in response to the services requirements.
The client systems 10 may not be a part of the CCDSVM, but with permission and authorization, one or more users each from a web-browser 9 of a client system 10 can login to the CCDSVM and access the permitted resources of the CCDSVM, by following a web URL link of the CCDSVM. To support non-web based network user interface, the client system 10 can have a specialized software same as the software modules 13 of the console system 1. While privileged users can obtain, manage, access, and/or operate system resources of the CCDSVM through the WCUWE, regular (non-privileged) users at client systems 10 may be permitted to access only limited system resources of the CCDSVM. The prior application Ser. No. 10/713,904 filed on Aug. 6, 2002 and entitled “Concurrent Web Based Multi-Task Support for Control Management System,” and prior application Ser. No. 11/374,302 filed on Jul. 2, 2004 and entitled “Display Multi-Layers List Item in Web Browser with Supporting of Concurrent Multi-Users” have described how to setup the user security profile for one or more users interactively selecting and accessing permitted resources and performing various permitted tasks via one or more displayed permitted folder trees/MLIL.
The CCDSVM configuration, in one embodiment, includes four data (flow) paths. The first data path is a communication link between a web browser 9 of a client host 10 (or a console host 1 or a control management system 2) and web handling software on the control system 2 such as web-server 7 and console support software 6. With this path of data flow, whenever a user sends a request from the web-browser 9 to the web-server 7 and further to console support software 6, the console support software 6 collects required information from target systems and converts (encodes) them into standard structured information (web-format/web-page) for web communication by using any or a combination of suitable programming languages such as C, C++, Java, Javascript, HTML, XML, WML and so forth without limits. The targeted system could be one of the provisioned systems 3 or the control system 2.
The information collected by the console support software 6 of the control system 2 could be, in one embodiment, the system status, storage information, network information, user authentication profile, the file system information, files & folders information on the control system 2, or any targeted provisioned system 3. The console support software 6 then passes this converted structured information (web page) to the web server software 7 and further transmits to web-browser 9 through the communication link Net 11 and/or Net 12 so that it can be displayed and viewed by a conventional web browser 9, as shown in
The communication protocol used between the web-browser 9 of the client system 10 (or the console system 1 or the control system 2) and the web server 7 of the control system 2 could be HTTP, HTTPS (SSL encrypted HTTP protocol) or any suitable web protocols for web communication, which could successfully transmit the data on the web or could be other standard or proprietary IP-based or non-IP-based protocols. This data path may be simply referred as the console support software 6 transferring data to/from said web-browser 9.
In one embodiment, if the control system 2 is configured with multiple network interface equipments, the console support software 6 detects from which network interface a requested data stream, submitted through a web browser 9 is coming from. Therefore, the console support software 6 will provide a response web page back to the web browser 9 via the same communication link that includes the identified network interface equipment.
The second data path is the data flow through the communication link between the control system 2 and the provisioned systems 3. Requests targeted to a provisioned system 3 are passed from the console support software 6 of the control system 2 to the service modules 8 of the provisioned systems 3 through the communication link network 12. When the requests are received by a provisioned system 3, the service modules 8 of the provisioned system 3 will carry out the requested tasks, and if there is a need, the service software 8 of the provisioned system 3 then sends a response back to the console support software 6 of the control system 2, and further let the control system 2 provides a response back to the user's requested browser. In another embodiment, the service software modules 8 of the provisioned system 3 provide a response back to the user directly without going through the control system 2 again.
The implementation of the actual products of this invention for the second data path may use proprietary TCP/UDP/IP based protocols for the communication between the provisioned systems 3 and the control system 2. However, other standards or proprietary IP based or suitable non-IP based protocol are also possible. The communication protocols used between the console support software 6 of the control system 2 and the service modules 8 of the provisioned system 3 can be suitable IP based or non-IP based protocols, whichever is suitable to transmit data between them. The typical data flow through this path could be the boot message, system status, network information, or storage information of provisioned system 3, and so forth without limits as shown in
The third data path is the data flow between provisioned systems 3 and client systems 10 or console systems 1 via the communication link 11-12. Referring back to
The fourth data path is data flow through a communication link between a provisioned system 3 and another provisioned system 3. With this path, the service modules 8 of one provisioned system 3 can directly transmit data or information to the service modules 8 of another provisioned system 3 via a communication link Net 12 without going through the control system 2. The implementation of the actual products of this invention, for example, uses a proprietary IP-based protocol for communications between the two provisioned systems 3.
The principle of this invention, however, does not rely on or limit to proprietary protocol. It should be noted that other standard or proprietary IP-based or suitable non-IP-based protocol may also be possible. The data and information transmitted through the fourth data path can be various types of data. For example, a user on a web-browser 9 may open a file folder on a provisioned system 3. Further, the user can also instruct to select and transfer file or file folder from a provisioned system 3 to another provisioned system 3 by an interactive click mechanism. The data file or file-folder will then be transferred directly between the two provisioned systems 3 without going through the control system 2.
Unless specifically specified, the console support software modules 6 of the control system 2, the provisioned systems 3, the service software modules 8 of the provisioned system 3, and the web-browser 9 on the control system 2, client system 10, and console system 1 are referred as the CCDSVM platform illustrated in
A web-based computer user work/operation environment (“WCUWE”) of the CCDSVM is provided by a software infrastructure, shown in
In one embodiment, the user private workspace 16 can be initially assigned and displayed, in a web browser, with limited resources such as displaying of an entry point of the user's top level home directory for managing one or more next levels of file-folders and their files, an entry point for update of user's password or managing one or more user's authentication, an entry point for accessing network, an entry point for monitoring and managing hardware devices including storage devices, an entry point for joining 1-to-1 personal communication, and an entry point for joining group collaboration including access on-the-fly streaming video provided from another user's digital camera or from archived streaming videos for the meeting, and so forth without limits. The user private workspace 16 can be encoded into a web page and displayed in a user's web browser, upon the user's log in to the control system 2 for accessing the CCDSVM via suitable or a combination of suitable programming languages.
In another embodiment, the owner (assigned user) can dynamically managing resources in the private workspace such as to create a new file under a file-folder by using editing or other proper application tools, delete one or more files or file-folders, copy or move files or file-folders from a source file-folder either on the control system 2 or on a provisioned system 3 in the CCDSVM into the user's permitted file-folders/directories of the CCDSVM, or upload files from the user's a native device's local drives into user's permitted file-folder/directory, or transmit files or file-folders from the user's native system's local drives into the user's default home file-folder/directory structure in the CCDSVM via a specialized file and file-folder transfer mechanism.
In one more embodiment, the user's private workspace in the CCDSVM displayed in a web browser 9 also can be connected to the user's local file-folder/storage drives on the user's native system via communication between the console support software modules 6 and the service software modules 8 on the user's native system as depicted in
The WCUWE further provides each user from a single web-browser 9 to interactively perform various permitted tasks and operations over various system resources (
The information of users or groups includes user names, user IDs, assigned security permissions, passwords, access points, group name, group ID, maximum members in a group, and so forth. The assigned security permissions include the user's role and credential information, which further includes from where the user can access the CCDSVM, and what service group/pool the user can access, what system and what specific resources on a system the user can access, and what task the user can perform. The user's security permission is encoded into a security data structure, where one or more fields of the security data structure containing one or more bits with bit-status of on or off to represent the status of one or more specific credential or permission for the user.
The privileged user can dynamically grant or revoke other user's security permissions and credentials via interrogating each user's security profile by inspecting, checking, and changing the status of each security permission field, or assign or deny each specific user to access the resources of the CCDSVM via set access control options from operation menu associated with the resources.
In addition, the console support software 6 of the control system 2 keeps tracking records for each user's every login session including the time of login and the time of log out, at what time performed what task or access what data or applications. In one embodiment, the console support software modules 6 receives and parses each user's accessing request, and writes information of each user's request into an access record in a per user secure access file, which can be linked to each user's security profile for real-time fast interrogation. In one embodiment, the per user secure access record file can be backup by copying it to another file with a special name tag, and it can further be emptied on a periodic bases for keeping up to date for the user's access records.
The tasks also include personal or group communication, system and network management, accessing and managing of data, service, and hardware resources, including network and storage devices, file systems, file-folders, files, messages, user security, and so forth without limits. Many of tasks have been described in said prior applications of “Concurrent Web Based Multi-Task Support for Control Management System,” and “Display multi-layers item list in web browser with supporting of concurrent multi-users”.
After receiving each task information from the web browser 9, the console support software 6 of the control system 2 parses and stores each task information into an available entry in an user space task list. After completing the execution of said task on targeted system, the corresponding entry stored with said task on the user space task list is cleared up. In addition, the console support software 6 of the control system 2 immediately provides a response web page to each web browser 9 in response to each submitted task independent of the completion of the task execution.
In one embodiment, said response updates the original web page in said web browser 9 by encoding with the status of the task, including the task result if the task is successfully completed or include the task execution status if the task is failed or in progress or include a location that said task result will be deposited. Additionally, the WCUWE deploys a lock protecting mechanism for said user space task list and all resources related to each task's execution in the event that multiple tasks may concurrently access and change the state of each mentioned resource.
The WCUWE of the CCDSVM includes software modules of the present invention. For example, the software includes the console support modules 6 of the control system 2, which further includes the web interface/client interface modules 5 for receiving requests from end users' web browser either on the control system 2 or a remote system and includes the distribution control management software modules 4 for control, monitor, and manage the provisioned system units 3. The distributing control management modules 4 also controls user authentication, fault detecting and recovering, contents distributing, and tasks distributing and executing.
The software also includes the service software modules 8 of the provisioned system 3, and other service software 13 of the console system 1, which can be used for send or receive data to/from the control system 2 and provisioned systems 3 using non-web-based protocols without web browser's involvement. The current implementation of the WCUWE is based on a proprietary design of this invention. However, the nature and spirit of this invention do not limit to proprietary designed software. The WCUWE of the CCDSVM also includes other proprietary software modules or conventional software such as a web-server 7 of the control system 2, web-browser 9 on the control system 2, the client systems 10, and the console systems 1.
The WCUWE of the CCDSVM can be implemented with suitable or a combination of various suitable programming languages such C, C++, Java, JavaScripts, HTML, XML, and so on. To simplify the discussion, the WCUWE will be used to represent software modules in the CCDSVM described above.
Users of the CCDSVM may be those created by the CCDSVM through a given process or users on the Internet, Intranet, or LAN without registering with the CCDSVM. The WCUWE of the CCDSVM provides user to access various resources and performs various tasks through a preferred model of clicking on graphic or text represented resource objects displayed on a browser.
The WCUWE is designed to be operated on a CCDSVM platform, and specially designed to provide dynamic workspace illustrated in
The dynamic workspace of the WCUWE is a centrally controlled collection of each group's workspace and/or each user's private workspace. The console support software 6 of the control system 2 of the CCDSVM will assign each user a private workspace and each group a common workspace when each user or group account is created by a privileged user after the WCUWE of the CCDSVM enters into an operational mode. A first privileged user is created during installing said software of the CCDSVM. When a user or a group account is created, each user is assigned with specific user security credential and permission and permitted resources based on each user's role. For example, some users are privileged users who can perform system administration tasks and others are general users who can be permitted to access certain types of applications and resources of the CCDSVM.
A workspace is an organized information structure, which can be saved on storage media such as memory or disk drives or both of memory and disk drives by the console support software 6. A workspace is created during a privileged user performing the tasks of creating user or group. The workspace will be initiated and assigned with limited resources of the CCDSVM such as shown in
In addition, each group may be assigned with one or multiple users, where each user can also be assigned with a private workspace 16 illustrated in
After creating user and group accounts, a privileged user can dynamically grant or revoke permission for a general user to access one or more mentioned resources from his/her displayed private workspace 16. In one embodiment, the privileged user can select a node containing a list of storage devices on a hardware resource folder tree of the CCDSVM, and further select a posting option from an operation menu and input a targeted user's information for binding the list of storage devices on a system of the CCDSVM to the user's account or select a withdrawing option to remove the list of storage devices from the user account profile. Therefore, during the operation, in one second, the targeted user may see said list in the user's web-browser, and in another second, the user will no longer see the list, which was in the user's displayed private workspace in the web browser. Also, if an authorized user can access a list of storage devices on a provisioned system, and further can take one of devices offline, so that the device list of the provisioned system will have one less device to be displayed in the user's web browser.
In another example, in one second, a privileged user grants a general user to access a file J in a folder N on a system M of a CCDSVM by selecting the file J and selecting set access control option from web operation menu to submit a task of set access control for said user, and in another second, the privileged user performs similar steps to reset previous permission, thereby, the general user can view and access the file J in the folder N on the system M of the CCDSVM at one time, and a second later, the general user will not be able to view and access to it. The actual implementation of console support software 6 of control system 2 has achieved this capability.
The total number of users and user groups that can be created is dependent on the capacity of the control system 2 such as how larger the memory and the storage capacity on the control system are. For example, if a user private workspace requires 1 Giga-bytes in storage space and 2 Mega-bytes in memory space, a system with 1-GB memory and 500 GB storage roughly can support 500 users. Similarly, the number of the concurrent users access to the CCDSVM over the network with a certain data rate is also bound by the network bandwidth that the CCDSVM infrastructure can provide.
When a user account is deleted, the private workspace and the user' membership with a group are automatically removed and updated. On the other hand, when a user group is deleted, the group common workspace is deleted, along with removing the group membership from each associated user's security profile without effecting the rest of the user's private workspace. In another embodiment, when a different type of user group is deleted, all accounts of the associated users and their private workspaces are deleted together with the deleting of the group account.
In addition, one or more types of resources in the workspace can be organized as one or more list of tables and can be stored in storage media of the control system 2 as database. The integrity of the security of each group is protected by limiting different resources to different group. As such, each group is authorized to have a limited view over assigned system resources on provisioned systems 3 as well as on the control system 2. The same security integrity at user level can be achieved by assigning different system resources on the provisioned systems 3 and/or the control system 2 to different individual users based on exclusively assigned security permissions and credentials. Therefore, each user is authorized to access and view the assigned resources.
The private workspace of each of the user X and user Y may also include private message area 21 and other resources areas, which are not displayed in
It is notable that said user X and user Y, may be in a same user group such as said group-1, however, each of them has displayed a significantly different private workspace on the control system 2 due to they have been assigned with very different resources of the CCDSVM depending on each user's role and security permission, which setup by privileged user of the CCDSVM through web-based user interface provided by said console support software 6. This is the beauty of the invention of WCUWE for CCDSVM.
The
Initially, said section-1, section-2, and section-3 are all empty due to no one has posted any file information or messages yet. The console support software 6 obtains each log in user's portion of assigned folders and files, for the online meeting, from the stored private file and file-folder area 22 of the private workspace 16 of each user on said storage media, and further converts/encodes said file or folder information into said section-4 of presentable web format (web page) to be displayable in the web-browser 9 for each user. The choice of total four sections of the web page layout and the order of each section on the browser screen is irrelevant to this invention since other choices of design are also possible, and further, this invention does not have limitations on what the web-screen layout shall be. The information of the file or folder (attributes) includes the system name where the file or folder resided, the name and path of the file or folder, the owner of the file or folder, the time stamps, the size of the file and so on without limitations.
During the interactive online meeting, said console support software 6 provides each user to post or un-post files or folders information to/from said section-3 of the displayed group common documents and contents management section with several steps. First, for example, providing said user X to click on a targeted file “Doc 1” 24 or “sub folder-1” (one a time) in the section-4 of displayed said file and folder management area 22 of said user X's private workspace 16. Second, to select the operation of either post or un-post from an operation menu (see
Each user with permission may perform an un-post operation if such user has at least one previously posted file or folder information, which has already been displayed in the section-3 of the common document and content management section of said web-browser 9 for all login users in said same user-group, see
If a file is selected, said-file operation menu is used, and if a folder is selected, the folder operation menu is used respectively. It is also possible to only provide one menu for both file and folder operations by said console support software 6. The operation menu can be pop-up menu for the folder as shown in
In the example of
In addition, during the interactive online meeting, the console support software 6 of the control system 2 also provides each user to post message to one or more users in the same group via said section-1 of the private user message input section after typing a message and clicking on a “send” button. In the example of
In a specific situation, the console support software 6 also provides a permitted user to un-post the previously posted message. Just for an example, in
The detailed information of how the post or un-post task to be implemented will be discussed in a few paragraphs later. In addition, with this invention, the action of the “post” information such as posting information of files, or folders, or post messages, or other resources is equivalent to the action of “share” information. The action of “un-post” information is equivalent to the action of “un-share” previously posted or shared information, in other words, to “remove” previously posted or shared information.
After a user submitting the task of the post or un-post from the web-browser 9 of a console system 1 or a client system 10 or the control system 2, the task's data is transmitted to the control system 2, the console support software 6 of the control system 2 obtains and parses the task data to determine: who is the original user initiating the task; what type of task; what type of associated resources for task to work on; who is the targeted user; and what is the time stamp, and may also include other information without limitations. The console support software 6 further determines that if the task is to post a file or folder from an original user, the console support software 6 picks up the corresponding file or folder information that from the file and folder area 22 of the private workspace 16 of the original user and deposits such information into the file and folder area 19 of the common workspace 15 of said group in this case.
If the task is to un-post/withdraw a previously posted file or folder, which is posted from a displayed private workspace of a specific user that now in said common workspace 15 of said group, the console support software 6 searches for the corresponding information of the file or folder in the file folder area 19 of said common workspace 15 of said group and further removes the entry of matched information from said common workspace 15 of said group after it is found.
If the task is to post a message to users in said group, the parsed message will be stored in the private message area 21 of the original user's private workspace 16 and the parsed message also is copied to the message area 18 of the common workspace 15 of said user group-1 by said console support software 6.
If a task is to un-post (delete/remove) a previously posted message, the console support software 6 searches for a matching message in said common message area 18 of said common workspace 16 of said group and removes such message entry if it is found based on message and original user's identification and other associated information such as time stamp, security permission and so on without limitation.
It shall be noticed that the task of un-posting a file or folder of this invention does not actually delete the original file and folder from an original user's private workspace 16. In addition, a lock protection mechanism is deployed whenever a message or information of a file or folder is written, stored, or deposited to either said private space 16 or said common workspace 15, or to said disk drives or other storage media. Throughout the rest of the discussion, the lock protection is assumed to be a default action without further mentioning whenever a write/store/deposit action takes place. As a matter of fact, each task of posting a file, folder, and message as well as each task of un-posting a previously posted file, folder, or message performed by multiple users in multiple groups with this invention can be executed by the console support software 6 instantly with memory speed.
Users can manually click on a refresh-button, which is not shown in the
The run-time script will automatically and periodically perform tasks of refreshing said section-2 and section-3 of the web page screen. As a matter of fact, the script can control which section to refresh or refresh all sections in a web page. The frequency of the periodic refreshing can be adjusted by said console support software 6 of the CCDSVM depending on the needs of the meeting, which typically can range from 1 to 3 seconds and there is no limitation on this aspect. Also, with the preferred example, said run-time script provided by the WCUWE is a JavaScript, however, other type of programming scripts or methods are also possible and there is no limitation on what kind of run-time program shall be used in this invention. In addition, the console support software 6 provides each user the choices of either automatically or manually refreshing their said web-browser 9.
Upon refreshing said section-2 or section-3 of said web-browser 9 screen of each user, a request of updating such screen will be generated and sent from said web-browser 9 to the control system 2. The console support software 6 obtains and parses each request to determine what user group, and which part of said common workspace 15 of said group need to be updated.
Based on information of each parsed request, the console support software 6 of the control system 2 retrieves the updated resources information from said common workspace 15 of said user group, which includes recently posted files, folders, or messages from each user in said group, and also includes updated list of files and file-folders or messages after un-posting one or more files, folders, or messages by users in the same group. Finally, the console support software 6 of the control system 2 converts/encodes the retrieved information of resources and objects into presentable web-format (web page).
If the request is to update the group messages, the converted information is sent to the section-2 of the group common message display area in said web-page/web browser 9. If the request is to update the group common files and folders display area, the converted information is sent to the section-3 of said web-browser 9. Therefore, after refreshing said sections on in said web-browser 9, each user can have an identical view of all posted files and folders from the section-3 of the group common document display area in said browser 9, and can have an identical view of all messages from the section-2 of the group common message display area in said web-browser 9, which are posted by all other users in a same group. Meanwhile said console support software 6 still allows each user to keep most of the resource information in the user's private workspace 16 un-exposed to other users in the same group during the online interactive meeting.
For example, the user X at his/her web-browser 9 can see “picture 1” 25, illustrated in
A difference between a conventional Internet group communication model and the group based communication model described in present invention is that the console support software 6 of the control system 2 provides each user to control post or un-post said resources information from the user's private workspace 16 while the conventional Internet communication model is not capable of performing posting/un-posting task. Also, for example, un-posting a previous posted file or folder information with the WCUWE of the CCDSVM does not delete the file or file-folder information nor does it delete the corresponding physical file or file-folder in the user's private workspace while the delete operation with existing Internet group communication model will completely delete an uploaded file in a group. The dynamic workspace of this invention represents a true beauty of the combined security protection of information, and flexibility and efficiency of the online meeting provided by the WCUWE of the CCDSVM to each users and groups online meeting.
In addition, with a preferred example, since posted information of each file is encoded by said console support software 6 with a web link and displayed in said section-3 of the web-browser 9, therefore, each user in a user-group can click on said link to download the file which provided through the private file and folder area of the private workspace of their peer users in group, from a system where the file is located. For example, the user X can download said “picture 1”, which may reside one either the control system 2 or on any provisioned system 3, from the user Y. Similarly, the user Y can download said “Doc 1”, which also may reside on either the control system 2 or on a provisioned system 3, from the user X at same time. This achieves peer-to-peer exchanging of files on permitted system from permitted users in said user-group. In addition, there is no size limitation for the file to be downloaded, which is a gifted benefit from Internet technology. Again, the web link discussed in present invention just represents a type of reference for pointing to a resource object for user to access in a cross network environment. Therefore, the mentioned use of the web link itself shall not be limited to the concept of the web only environment and it also can be referred to a way to reference an object in a non web-based networked environment.
Besides the exampled and understandable method of download, other methods of retrieving peer users' digital documents or contents are also possible by deploying a more efficient proprietary file transfer mechanism to reach the results of said exchanging a file. It shall be noted that said method of download is only applicable to said files and does not apply to folder and other said resource. To retrieve a targeted peer user's entire folder and its underneath files and sub folders, a special file and folder transfer method is provided. Transferring files and file-folders across systems has been discussed in the prior application of “Display multi-layers list item in web browser with support of concurrent multi-users”, via a copy/paste mechanism.
As shown in
The user interactive click driven copy/past operation allows files and folders from permitted folders of permitted provisioned systems 3 to be dynamically, physically copied to each user's private workspace on the control system 2, and the information of said files and folders could further to be displayed in said web-page/browser of each user, and further to be posted to the common workspace 15 of the user group to which each user belong that is additional to directly posting these files or folders without physical copying over. As a matter of fact, operations provided by the console support software 6 of the control system 2 have added efficiency for posting or un-posting files and folders for each user depending on the real needs.
Additionally, said console support software 6 provides each user of each group with the capability of saving the posted messages in the common message area 18 of said common workspace 15 of each group into a file in the common file & folder area of said common workspace 15 of each group. Further, the saved file can be viewed, downloaded by each user in each group with the same method of posting. Besides whenever there is a need, said console support software modules 6 provide user to reset the message area 18 to be empty by removing all message entries in the message area 18 of said user-group's common workspace 16.
An important fact is that the designed WCUWE of the CCDSVM has provided concurrent users, each from a single web browser anywhere on the network to securely perform permitted various tasks, which could be run concurrently within a single web-browser. Because of the console support software 6 of the control system 2 lets each user have an exclusive view for resource objects in the private workspace 16 and in said common workspace 15 of a group which each user belongs to, and lets each user manage resource objects i the user's private space 16, therefore, the multiple users in multiple groups model communication or in 1-to-1 communication can concurrently post or un-post files, folders, messages, or other resource objects without interfering each other. Thus, the workspaces of each user and each group are well protected.
Hence, the console support software 6 of the control system 2 provides privileged users to perform tasks of creating multiple users and/or user groups on the control system 2, and each group can be assigned with variable size of users for online interactive meetings. The total number of users and the total number of groups, and the maximum number of users per group that the WCUWE of the CCDSVM can support is an implementation issue and depends on the capacity of the control system 2. The WCUWE of the CCDSVM and the CCDSVM has been designed with unlimited scalability for both users and provisioned systems 3. On the other hand, the spirit of this invention does not limit to the boundary issues of the WCUWE and the CCDSVM.
For example, as shown in
In addition to post messages in group-based communication involving parties with two or more users, the WCUWE of the CCDSVM also provides each user to post messages to other user with non-group based 1-to-1 message model.
The section-3 of the web-page in said browser 9 enables a user to work with same steps of non-group based 1-to-1 model of posting files and folders or un-posting the previously posted files or folders as described previously. The section-3 included in
The section-1 is user message input area together with an additional input field of “To who”, due to unlike in group online meeting, the console support software modules 6 have no knowledge of who the targeted user is in this case. Further, user can post a message with similar said steps as discussed previously in the invention. Nevertheless, unlike with the group meeting messaging model, after obtaining and parsing information of the messages from each user, the console support software 6 of the control system 2 will deposit the message to both the targeted user's and the original user's message areas of each private workspaces. Further, with the same said steps of displaying messages in each user's browser, each user can view both of the users' sent or received messages in the section-2 of said browser 9.
For example, as shown in
Again, the design choice of three sections of a web-page display layout and the order of each section is just a preferred example of implementation for non-group based peer user communication. This invention is not limited by the web-screen display layout, for example, a screen display only with said section-1 and section-2 is also possible and so on without limitation, and each section can display one or more same or different resources in one or more user private workspaces or group common workspaces.
The WCUWE of the CCDSVM has provided a security hierarchy for members of any team to work together across multiple locations. With said security hierarchy and said steps of posting or un-posting files and folders, the console support software 6 of the control system 2 can specially provide only a team leader with the capability of posting folders or files that to be viewed and shared by all team members or by an individual member in non-group meeting based environment. In addition, the console support software 6 also provides each team member to post or un-post his/her files or folders to a specific peer user one at a time in a non-group meeting environment. Again, the files or folders could be on said control system 2 or on any provisioned system 3.
It is relatively straightforward for the WCUWE of the CCDSVM, more specifically the console support software 6, to support massive online users, who do not have account with the CCDSVM, and can not login the CCDSVM yet can view the dynamically posted files, folders, or messages by users with user account of the CCDSVM.
In a preferred example, such as shown in
For users belong to the same designated user group, each user from a web-browser 9 on computing system across said network can login to the CCDSVM and obtain said group online meeting web-page as shown in
Meanwhile as previously described and as shown in
As shown in
As shown in
In addition to provide original user in a group to control un-posting files or folders in group based communication, the console support software 6 of the control system 2 may also provide a privileged user to un-post previously posted files or folders posted by other users in said displayed file and folder section of a web-page. To support this capability, for example, said console support software 6 will provide an operation menu to associate with said displayed files and folders in said display section, further to allow the privileged user to perform the similar un-post operation. After receiving the un-post operation, the console support software 6 will perform similar said searching for the posted file or folder in the group file and folder area 19 of group common workspace 15 of said group, if there is a match found, the corresponding entry will be deleted. Also, the file and folder section of web-page/web-browser can be refreshed accordingly as described before.
The present invention can apply to update web contents for web portals in enterprises and in personal communication. In one example, the
In one embodiment, a web page screen of a news portal may be divided into multi-sections including a sports section, medical section, education section, entertainment section, financial section, traveling and vacation section, and technology section so forth without limit. With the CCDSVM, each of the different sections can be assigned to each different corresponding group, which is dedicated for updating the news in the section. For example, 5 sports journalists in a sports group scattering around the world can be assigned to update the sports news section instantly at anytime and anyplace, where the sports section is only associated with the sports group's common workspace 15 and can be updated and refreshed independent of other sections in the web page via a run-time script. In another example, a financial group has 4 journalists being assigned to update the financial section of the web page, which is only associated with the financial group's common workspace 15, and so forth without limits. Of course, the rest of the sections can also be assigned to each dedicated group of journalists.
In another embodiment, a retailer's portal may have multiple sections of a web page layout for displaying hundreds or even thousands of products, where each section may be dedicated to a type of products. By assigning each section to a dedicated group of one or more users, the contents of each section can be much securely and efficiently updated because more users can concurrently working on each section of each web page for entire web pages of any portal without interrupting each others.
Further, each section can be dedicated to encode and display one type of resources posted from each user in a corresponding area of a group common workspace 15 or encode and display with mixed type of resources from multiple areas of a group common workspace 15 such as mixed with photo-picture, text messages, and others, or mixed with streaming video and text messages.
Instead of encoding resources in one or more users' private workspaces 16 into each of the corresponding sections of a web page indirectly via each corresponding group's common workspace, in which each user are the members as described in prior embodiment, each section of a web page can be encoded directly with resources information in one or more users' private workspaces. To accomplish this, the console support software modules 6 of the control system 2 can keep a mapping list between each section and the associated one or more users' private workspaces for a web page. In addition, the console support software 6 can facilitate each user an alternative post operation and an alternative un-post operation to support updating the contents of the assigned section of the web page. Therefore, instead of facilitating each user posting resources information into the user's group's workspace 15 or withdrawing the resource information from the user's group's workspace, the console support software modules 6 facilitate user to tag the resource in his/her private workspace as an indication for posting the resource directly to the assigned section, or to tag the previously tagged and posted resource for withdrawing. In one embodiment, the tagged information can be kept in said list and be stored in a dedicated place in the user's private workspace, or in a central controlled file-folder that the console support software 6 can easy to pick up. Therefore, during the generating of the targeted web page, the console support software modules 6 will encode each section of the web page according to the mapped information list combined with each user's tagged information for updating web contents. Although, this is not as robust as post and un-post operations, it still reduces the usage for group common workspace 15.
Thus, the management of larger volumes of web contents for a complex web portal will become much efficient because it divides the larger amount of works into one or more smaller jobs for each corresponding small section of each web page of a web portal. Therefore, each section can be parallel updated by one or more users yet the updating is independent and without interfering other sections. Second, it is more secure since each section is restricted to be updated by limited users. Also, with this invention, the updating does not require any hardcode for each section due to the nature of posting and withdrawing technology introduced in present invention.
Having briefly described embodiments of the web based network environment in which the present invention operates,
Referring back to
Main memory 204, which may include multiple levels of cache memories, stores frequently used data and instructions. Main memory 204 may be RAM (random access memory), MRAM (magnetic RAM), or flash memory. Static memory 206 may be a ROM (read-only memory), which is coupled to bus 211, for storing static information and/or instructions. Bus control unit 205 is coupled to buses 211-212 and controls which component, such as main memory 204 or processor 202, can use the bus. Bus control unit 205 manages the communications between bus 211 and bus 212. Mass storage memory 207, which may be a magnetic disk, an optical disk, hard disk drive, floppy disk, CD-ROM, and/or flash memories for storing large amounts of data. Web based information exchange 230, in one embodiment, is a network control component for facilitating information exchange over the Web. It should be noted that web based information exchange 230 could be software or hardware or a combination of software and hardware components and modules described herein. In one embodiment, it comprises video and audio recording and playback components including digital camera or video or audio encoding and playing back PCI cards such that the on-the-fly recorded streaming video on the computer system 200 can be displayed into each user's web browser or to other viewing mechanism on another remote computer system 200 via communication link over various networks during online information exchanging.
I/O unit 220, in one embodiment, includes a display 221, keyboard 222, cursor control device 223, and communication device 225. Display device 221 may be a liquid crystal device, cathode ray tube (“CRT”), touch-screen display, or other suitable display device. Display 221 projects or displays images of a graphical planning board. Keyboard 222 may be a conventional alphanumeric input device for communicating information between computer system 200 and computer operator(s). Another type of user input device is cursor control device 223, such as a conventional mouse, touch mouse, trackball, or other type of cursor for communicating information between system 200 and user(s).
Communication device 225 is coupled to bus 211 for access to information from remote computers or servers, such as a server or other computers, through a wide-area network. Communication device 225 may include a modem or a network interface device, or other similar devices that facilitate communication between computer 200 and the network. Computer system 200 may be coupled to a number of servers via a network infrastructure such as the infrastructure illustrated in
The present invention has been described in considerable details with reference to certain examples. However, other versions and examples are also possible, therefore, the spirit of this invention shall not be limited to these examples and/or embodiments. Also, the claims of this invention will be labeled with numbering and in most cases, the numbering does not represent any sequence or order unless specifically described as the steps of a method.
This application is a continuation of U.S. patent application Ser. No. 16/565,806 filed on Sept. 10, 2019, which itself is a continuation of U.S. patent application Ser. No. 15/164,016 filed on May 25, 2016 now a U.S. Pat. No. 10,484,455, which itself is a continuation of U.S. patent application Ser. No. 14/019,406 filed on Sep. 5, 2013 which itself is a continuation of U.S. patent application Ser. No. 12/511,039, filed on Jul. 28, 2009 and now a U.S. Pat. No. 8,577,839, which in turn is a continuation-in-part of (a) U.S. patent application Ser. No. 11/732,496 filed on Apr. 2, 2007, and claimed the benefit of U.S. Provisional Application No. 60/787,653 filed on Mar. 31, 2006. The application Ser. No. 12/511,039 has referenced prior application Ser. No. 10/713,904 filed on Aug. 6, 2002 and now a patent No. 7418702, application Ser. No. 10/713,905 filed on Aug. 12, 2002 and now a patent No. 7379990, and application Ser. No. 11/374,302 filed on Jul. 2, 2004 and now a patent No. 7945652. The entire disclosures of the patents and applications herein are hereby incorporated by reference in their entireties for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
7730129 | Wang | Jun 2010 | B2 |
7941844 | Anno | May 2011 | B2 |
20050138193 | Encarnacion | Jun 2005 | A1 |
20070124737 | Wensley | May 2007 | A1 |
20070297757 | Kauffman | Dec 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20230017018 A1 | Jan 2023 | US |
Number | Date | Country | |
---|---|---|---|
60787653 | Mar 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16565806 | Sep 2019 | US |
Child | 17944914 | US | |
Parent | 15164016 | May 2016 | US |
Child | 16565806 | US | |
Parent | 14019406 | Sep 2013 | US |
Child | 15164016 | US | |
Parent | 12511039 | Jul 2009 | US |
Child | 14019406 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11732496 | Apr 2007 | US |
Child | 12511039 | US |